使用互斥锁

#_author:来童星
#date:2019/12/17
#互斥锁
from threading import Thread,Lock
import time
n=100
def func():
global n
mutex.acquire()
temp=n
time.sleep(0.1)
n=temp-1
print('购买成功,剩余%d张电影票'%n)
mutex.release()

if __name__=='__main__':
mutex=Lock()
t_l=[]#
for i in range(10):
t=Thread(target=func)
t_l.append(t)
t.start()
for t in t_l:
t.join()
运行结果:
购买成功,剩余99张电影票
购买成功,剩余98张电影票
购买成功,剩余97张电影票
购买成功,剩余96张电影票
购买成功,剩余95张电影票
购买成功,剩余94张电影票
购买成功,剩余93张电影票
购买成功,剩余92张电影票
购买成功,剩余91张电影票
购买成功,剩余90张电影票
原文地址:https://www.cnblogs.com/startl/p/12054679.html