python多线程的condition同步

Condition同步比较高级是因为除了锁定池,还多了一个等待池。

acquire():调用锁,成功则进入锁定池
release():释放锁
wait():进入Condition的等待池等待通知,并释放锁。使用前线程必须已获得锁定,否则将抛出异常。
notify(): 调用这个方法将从等待池挑选一个线程并通知(python通常为先进先出),收到通知的一个线程将自动调用acquire()尝试获得锁定(进入锁定池);其他线程仍然在等待池中。调用这个方法不会释放锁定。使用前线程必须已获得锁定,否则将抛出异常。
notifyAll(): 调用这个方法将通知等待池中所有的线程,所有线程都将进入锁定池尝试获得锁定。调用这个方法不会释放锁定。使用前线程必须已获得锁定,否则将抛出异常。

你可能感兴趣的:(python,多线程,condition)