线程同步: 保证同一时刻只能有一个线程去操作全局变量 同步: 就是协同步调,按预定的先后次序进行运行。如:你说完,我再说, 好比现实生活中的对讲机
线程同步的方式:
线程等待(join)
互斥锁
线程等待的代码
import threading
g_num = 0
def sum_num1():
for i in range(1000000):
global g_num
g_num += 1
print("sum1:", g_num)
def sum_num2():
for i in range(1000000):
global g_num
g_num += 1
print(“sum2:”, g_num)
if name == ‘main’:
# 创建两个线程
first_thread = threading.Thread(target=sum_num1)
second_thread = threading.Thread(target=sum_num2)
# 启动线程
first_thread.start()
# 主线程等待第一个线程执行完成以后代码再继续执行,让其执行第二个线程
# 线程同步: 一个任务执行完成以后另外一个任务才能执行,同一个时刻只有一个任务在执行
first_thread.join()
# 启动线程
second_thread.start()
执行结果:
sum1: 1000000
sum2: 2000000
由此得出结论: