互斥锁的改进
Posted monsterhy123
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了互斥锁的改进相关的知识,希望对你有一定的参考价值。
1 import time 2 from threading import Thread,Lock 3 #定义全局变量num 4 num=0 5 #创建一把互斥锁 6 lock = Lock() 7 def test1(): 8 global num 9 ‘‘‘ 10 在两个线程中都调用上锁的方法,则这两个线程就会抢着上锁, 11 如果有1方成功上锁,那么导致另外一方会堵塞(一直等待)直到这个锁被解开 12 ‘‘‘ 13 for i in range(100000): 14 lock.acquire()#上锁 15 num+=1 16 lock.release() 17 print(‘test1输出num:‘,num) 18 19 def test2(): 20 global num 21 for i in range(100000): 22 lock.acquire() # 上锁 23 num+=1 24 lock.release() 25 print(‘test2输出num:‘,num) 26 27 if __name__==‘__main__‘: 28 t1 = Thread(target=test1) 29 t2 = Thread(target=test2) 30 t1.start() 31 t2.start() 32 t1.join() 33 t2.join()
1 test1输出num:181043 2 test2输出num:200000
以上是关于互斥锁的改进的主要内容,如果未能解决你的问题,请参考以下文章