感谢,写的很好,我有一个问题,
finally:
# 必须恢复锁原来的状态,这个方法很重要
self._acquire_restore(saved_state)
我看在threading.py 中,这个方法定义为
self._lock.acquire() # Ignore saved state
wait中已经释放了这个锁,然后saved_state应该是none吧,
为何在finally中还要调用去获得锁的lock呢,none传到acquire中是非阻塞的吧?
我的问题就是为什么还要去lock 这个锁呢?
Python线程锁的实现Python 线程锁的实现 Lock 的实现 锁只有两种状态,锁定或者未锁定 thread.allocate_lock 是用C代码实现的,代码位置 Python/thread...