Loading

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)

参考:https://zhuanlan.zhihu.com/p/147023085

posted @ 2022-04-07 18:03  InspirationPlace  阅读(71)  评论(0)    收藏  举报