python threading condition用法
import time
import threading
signal = 0
condition_lock = threading.Condition()
def signal_add():
global signal
while(True):
time.sleep(1)
condition_lock.acquire()
signal = signal + 1
condition_lock.notify()
condition_lock.release()
thread = threading.Thread(target = signal_add, args = (), daemon = True)
thread.start()
condition_lock.acquire()
condition_lock.wait_for(lambda:signal == 5)
condition_lock.release()
print(signal)