Python 多线程死锁
来源:互联网 发布:手机淘宝怎么没有社区 编辑:程序博客网 时间:2024/06/06 01:01
import threadingimport timemutexA=threading.Lock() #创建一个锁mutexB=threading.Lock() #创建一个锁class threadA(threading.Thread): def run(self): if mutexA.acquire(1): #锁定成功就继续执行,锁定不成功,就一直等待 print(self.name+"我拿到了资源A,还没有拿到资源B,等待...") time.sleep(3) #mutexA.release() #没拿到资源B,先把手中的资源A释放,就可以避免死锁 if mutexB.acquire(1): #锁定不成功。一直等待 print(self.name+"我拿到了资源A和资源B,我的活干完了!") mutexB.release() mutexA.release()class threadB(threading.Thread): def run(self): if mutexB.acquire(1): #锁定成功就继续执行,锁定不成功,就一直等待 print(self.name+"我拿到了资源B,还没有拿到资源A,等待...") time.sleep(3) #mutexB.release() #没拿到资源A,先把手中的资源B释放,就可以避免死锁 if mutexA.acquire(1): #锁定不成功。一直等待 print(self.name+"我拿到了资源A和资源B,我的活干完了!") mutexA.release() mutexB.release()#开启两个线程thread1=threadA()thread1.start()thread2=threadB()thread2.start()
阅读全文
0 0
- Python 多线程死锁
- python多线程编程(4): 死锁和可重入锁
- python多线程编程(4): 死锁和可重入锁
- python多线程编程(4): 死锁和可重入锁
- 多线程死锁
- 多线程 - 死锁
- 多线程死锁
- 多线程死锁
- 多线程 死锁
- 多线程死锁
- 多线程死锁
- 多线程--死锁
- 多线程死锁
- 多线程死锁
- 多线程-死锁
- 多线程死锁
- 多线程死锁
- Python系统编程(多线程-互斥锁-死锁-thread-threading)
- TabLayout+ViewPage
- JS控制全屏,监听退出全屏事件
- linux服务器 phpinfo 里面找不到 mysql 模块,也没有 pdo_mysql
- 新手浅见,学习笔记(机器学习中的图像特征提取)
- TCP三次握手四次分手
- Python 多线程死锁
- postman中 form-data、x-www-form-urlencoded、raw、binary的区别
- Appium安装
- ViewPager动态添加小圆点
- JVM调优总结 -Xms -Xmx -Xmn -Xss
- 传递参数的技巧
- DataBinding系列(四):DataBinding进阶之路
- PAT乙级1070. 结绳(25)
- 小白浅谈android开发