wait()
是 Python 中的一个内置函数,通常用于线程同步。它可以暂停当前线程的执行,直到另一个线程完成某个操作或满足某个条件。这在多线程编程中非常有用,因为它可以确保线程按照预期的顺序执行。
wait()
函数通常与 Event
类一起使用。Event
类是一个线程同步原语,允许一个或多个线程等待某个事件的发生。Event
对象有一个内部标志,可以用来表示事件是否已经发生。线程可以使用 wait()
方法来等待事件的发生,而其他线程可以使用 set()
方法来设置事件,或使用 is_set()
方法来检查事件是否已经发生。
下面是一个简单的示例,展示了如何使用 wait()
和 Event
类来实现线程同步:
import threading
import time
def worker(event):
print("Worker thread waiting for event to be set.")
event.wait() # 暂停线程执行,直到事件被设置
print("Event is set, worker thread continues.")
def main():
event = threading.Event()
t = threading.Thread(target=worker, args=(event,))
t.start()
time.sleep(2) # 让工作线程等待一段时间
print("Main thread setting the event.")
event.set() # 设置事件,唤醒等待的线程
t.join() # 等待工作线程完成
print("All threads finished.")
if __name__ == "__main__":
main()
在这个示例中,worker
函数是一个线程,它使用 wait()
方法等待事件被设置。main
函数创建了事件和工作线程,并在一段时间后设置事件。当事件被设置时,工作线程将继续执行。