python -- 递归锁

python – 递归锁
假设创建两个锁A,B
并执行DIgui_clock()
在这里插入图片描述

在这里插入图片描述
分别执行def A(),def B()。
当第一个线程执行完A()后,释放A,B锁,进入B()。
此时第二个线程开始执行A()。
则当第一个和第二线程分别执行到16,7行时,因无法获得另一个锁。
(第一个:有B锁无A锁
第二个:有A锁无B锁)
此时线程将会卡死,为死锁。
在这里插入图片描述

解决方法:
使用递归锁:threading.RLock()
在这里插入图片描述 着用就能完美解决死锁的情况。