__author__ = '未昔/AngelFate'
__date__ = '2020/5/31 20:24'
from threading import Thread, Lock
num = 0
def work():
global num
l.acquire()
for i in range(1000000):
num += 1
print('work的num是%d' % num)
l.release()
def works():
global num
l.acquire()
for i in range(1000000):
num += 1
print('works的num是%d' % num)
l.release()
l = Lock()
t = Thread(target=work)
tt = Thread(target=works)
t.start()
tt.start()
print('最后的num值是%d' % num)
这里需要明白,主线程和子线程是同时进行的,因为创建子进程在前,最后输出再后,所以当最后线程输出的时候,子线程还在运行.
最后的num值是271556
work的num是1000000
works的num是2000000
Process finished with exit code 0
![[Python 进阶] 互斥锁](https://support.i-search.com.cn/upload/bbs/20200531/69108da0791242e2b307699b8503a551_image.png)