在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
函数在完成耗时操作后设置事件,而主线程则等待事件被设置。这样可以更明确地表示等待关系,并提高代码的可读性。