同步锁Lock

同步锁作用: 在我当前包含(lock.acquire() 和 lock.release()之间 )的代码没有执行完成,不进行线程切换,必须等我执行完了,下一个线程才能继续执行

#-*-conding:utf-8-*-

import threading
import time

lock = threading.Lock() #创建同步锁对象
n = 100
def add():
global n
lock.acquire() #加上锁
temp = n
time.sleep(0.01)
n = temp - 1
lock.release() #释放锁

l = []
for i in range(100):
t = threading.Thread(target=add)
t.start()
l.append(t)

for r in l:
r.join()
print(n)

猜你喜欢

转载自www.cnblogs.com/ajaxa/p/9113306.html