在Python中,wait()
方法通常用于線程同步,讓一個線程等待另一個線程完成某個操作。你可以使用threading.Event
來改進等待機制。threading.Event
是一個簡單的線程同步原語,它允許一個或多個線程等待某個事件的發生。
下面是一個使用threading.Event
改進等待機制的示例:
import threading
import time
def worker(event):
print("Worker thread started")
time.sleep(2) # 模擬耗時操作
print("Worker thread finished")
event.set() # 設置事件,表示任務完成
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() # 等待事件被設置
print("Main thread continues")
if __name__ == "__main__":
main()
在這個示例中,我們使用threading.Event
來替代wait()
方法。worker
函數在完成耗時操作后設置事件,而主線程則等待事件被設置。這樣可以更明確地表示等待關系,并提高代碼的可讀性。