一. 解析
如果某一些线程,你不希望交替执行,而是想一个线程做完再去做其他的线程,那就需要用到锁
二. 代码
import threading
def job1():
global A, lock
lock.acquire() # 加锁
for i in range(10):
A += 1
print('job1', A)
lock.release() # 释放锁 这样只有这个做完释放之后才会去做job2的东西
def job2():
global A, lock
lock.acquire()
for i in range(10):
A += 10
print('job2', A)
lock.release()
if __name__ == '__main__':
lock = threading.Lock()
A = 0
t1 = threading.Thread(target=job1)
t2 = threading.Thread(target=job2)
t1.start()
t2.start()
t1.join()
t2.join()