在Python中,wait()
方法通常用于線程同步,讓一個(gè)線程等待另一個(gè)線程完成某個(gè)操作。你可以使用threading.Event
來改進(jìn)等待機(jī)制。threading.Event
是一個(gè)簡(jiǎn)單的線程同步原語,它允許一個(gè)或多個(gè)線程等待某個(gè)事件的發(fā)生。
下面是一個(gè)使用threading.Event
改進(jìn)等待機(jī)制的示例:
import threading
import time
def worker(event):
print("Worker thread started")
time.sleep(2) # 模擬耗時(shí)操作
print("Worker thread finished")
event.set() # 設(shè)置事件,表示任務(wù)完成
def main():
event = threading.Event()
thread = threading.Thread(target=worker, args=(event,))
thread.start()
print("Main thread waiting for worker thread to finish")
event.wait() # 等待事件被設(shè)置
print("Main thread continues")
if __name__ == "__main__":
main()
在這個(gè)示例中,我們使用threading.Event
來替代wait()
方法。worker
函數(shù)在完成耗時(shí)操作后設(shè)置事件,而主線程則等待事件被設(shè)置。這樣可以更明確地表示等待關(guān)系,并提高代碼的可讀性。