import threading
import time
num=0
mutex=threading.Lock()
#mutex=threading.RLock() # Rlock避免单线程死锁(避免自己等自己)
class Mythread(threading.Thread):
def run(self):
global num
if mutex.acquire(1): #已经获取资源(Lock)
num=num+1
print(self.name,num)
if mutex.acquire(1): #自己已经拿到资源(Lock)了,再次获取资源(Lock),自己等自己形成死锁
num+=1000
mutex.release()
mutex.release()
thread1=Mythread()
thread1.start()
Python 单线程死锁(自己等自己),Rlock解决
最新推荐文章于 2022-11-02 15:34:26 发布