关于Python线程锁定对象
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于Python线程锁定对象相关的知识,希望对你有一定的参考价值。
我正在阅读Python Threading Lock API。 Link here。
我想知道下面的陈述是什么意思。
“当状态被锁定时,acquire()会阻塞,直到另一个线程中对release()的调用将其更改为已解锁,然后acquire()调用将其重置为已锁定并返回。”
我已经读了100次这个陈述。仍然无法得到它。
为什么另一个线程要解锁? “那么”之后的陈述是什么意思?
对此有什么好的解释吗?
答案
总的意思是当从线程获取锁时,调用acquire的其他线程等待直到释放锁并再次锁定它:
当州被锁定时,
线程A获取()锁定
acquire()块
线程B尝试获取()锁,但它被锁定,因此acquire()阻塞当前线程
直到另一个线程中的release()调用将其更改为已解锁
直到锁被释放到其他地方(即,它等待直到线程A释放()锁定)
然后acquire()调用将其重置为锁定并返回。
线程B的acquire()再次锁定锁
以上是关于关于Python线程锁定对象的主要内容,如果未能解决你的问题,请参考以下文章