锁(Lock)是python提供的对线程控制的对象。有互斥锁,可重入锁,死锁。

死锁

若干子线程在系统资源竞争时,都在等待对方对某部分资源解除占用状态,结果是谁也不愿先解锁,互相干等着,程序无法执行下去,这就是死锁。

互斥锁

保证锁定同一个线程,修改这个完整的数据,是用户程序自己的锁。

可重入锁

为了支持在同一线程中多次请求同一资源,python提供了“可重入锁”:threading.RLock。