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
函數創建了事件和工作線程,并在一段時間后設置事件。當事件被設置時,工作線程將繼續執行。