您现在的位置是:群英 > 开发技术 > Python语言
Python死锁是怎么产生的
Admin发表于 2022-04-28 14:07:54848 次浏览
这篇文章给大家分享的是“Python死锁是怎么产生的”,文中的讲解内容简单清晰,对大家认识和了解都有一定的帮助,对此感兴趣的朋友,接下来就跟随小编一起了解一下“Python死锁是怎么产生的”吧。

1、程序永远无法运行结束,根本原因在于:

一个线程持有锁1同时在请求锁2,另一个线程持有锁2同时在请求锁1,二者不得到对方的锁都不会放开自己的锁,程序就这样僵持下去了。

2、实例

两个线程会同时开启,程序打印出

print1 first Thread-1
print1 second Thread-1
print2 first Thread-1
print1 first Thread-2

(1)第一个线程先执行print1,获得了锁1,等待1秒。这时第二个线程已经开启,企图获得锁1,但是获取不到于是等待

(2)第一个线程等待时间结束,获得锁2,打印结束释放两把锁。之后马上开始执行print2,并获得锁2,等待1秒

(3)这时第二个线程可以获得锁1了,开始执行print1,也等待1秒

(4)等待时间结束,第一个线程持有锁2企图获得锁1,第一个线程持有锁1企图获得锁2,就陷入了僵局

本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。


感谢各位的阅读,以上就是“Python死锁是怎么产生的”的内容了,通过以上内容的阐述,相信大家对Python死锁是怎么产生的已经有了进一步的了解,如果想要了解更多相关的内容,欢迎关注群英网络,群英网络将为大家推送更多相关知识点的文章。

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

标签: Python 死锁
相关信息推荐
2022-05-16 17:17:14 
摘要:本文实例为大家分享了android自制九宫格解锁控件的具体代码,供大家参考,具体内容如下前两天从网上学习了下如何自定义一个九宫格解锁的控件,于是自己根据逻辑写了一遍,自定义控件的代码如下:public
2021-12-30 20:34:36 
摘要:多朋友在学习Java时,对于Java回调函数不是很理解,那么Java回调函数究竟是什么意思呢?用法是什么?对此本文就给大家来详细的介绍一下,下文示例有一定的参考价值,有需要的朋友可以参考,接下来我们就一起学习一下吧。
2022-05-26 17:50:30 
摘要:下面由golang教程​栏目给大家介绍Golang实现PHP常用函数,希望对需要的朋友有所帮助!用Golang封装PHP常用的函数,为了区分PHP与Go中的函数,go-to-php封装的函数,都是在对应的PHP函数的前面加上大写的P。
云活动
推荐内容
热门关键词
热门信息
群英网络助力开启安全的云计算之旅
立即注册,领取新人大礼包
  • 联系我们
  • 24小时售后:4006784567
  • 24小时TEL :0668-2555666
  • 售前咨询TEL:400-678-4567

  • 官方微信

    官方微信
Copyright  ©  QY  Network  Company  Ltd. All  Rights  Reserved. 2003-2019  群英网络  版权所有   茂名市群英网络有限公司
增值电信经营许可证 : B1.B2-20140078   粤ICP备09006778号
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
微信公众号
返回顶部
返回顶部 返回顶部