欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python线程加同步锁

程序员文章站 2022-04-15 20:57:04
1 import threading 2 import time 3 num=100 4 def addNum(): 5 global num #在每个线程中都获取这个全局变量 6 r.acquire()#加锁 7 temp=num 8 time.sleep(0.000001) 9 num=temp ......
 1 import threading
 2 import time
 3 num=100
 4 def addnum():
 5     global num #在每个线程中都获取这个全局变量
 6     r.acquire()#加锁
 7     temp=num
 8     time.sleep(0.000001)
 9     num=temp-1
10     r.release()#释放锁
11 
12 thread_list=[]
13 r=threading.lock()#创建同步锁
14 for i in range(5):
15     t = threading.thread(target=addnum)
16     t.start()
17     thread_list.append(t)
18 for t in thread_list:#等待所有线程执行完毕
19     t.join()
20 print('final num:',num)