Python threading模块condition原理及运行流程详解
Condition的处理流程如下: 首先acquire一个条件变量,然后判断一些条件。 如果条件不满足则wait; 如果条件满足,进行一些处理改变条件后,通过notify方法通知其他线程,其他处于wait状态的线程接到通知后会重新判断条件。 不断的重复这一过程,从而解决复杂的同步问题。 Condition的基本原理如下: 可以认为Condition对象维护了一个锁(Lock/RLock)和一个waiting池。线程通过acquire获得Condition对象,当调用wait方法时,线程会释放Condition内部的锁并进入blocked状态,同时在waiting池中记录这个线
用户评论