首页IT科技python if else用法 三个判断条件(Python死锁的产生原因)

python if else用法 三个判断条件(Python死锁的产生原因)

时间2025-05-03 12:09:56分类IT科技浏览5029
导读:1、程序永远无法运行结束,根本原因在于:...

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

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

2                  、实例

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

print1firstThread-1 print1secondThread-1 print2firstThread-1 print1firstThread-2

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

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

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

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

以上就是Python死锁的产生原因      ,希望对大家有所帮助         。更多Python学习推荐:python教学

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
python中list函数干什么的(python list函数是什么) python 魔术命令(Python魔术方法的三个特点)