溫馨提示×

pyrhon怎么暫停兩個線程

小億
114
2023-09-04 11:46:33
欄目: 編程語言

在 Python 中,可以使用 threading 模塊來創建和管理線程。要暫停線程,可以使用 threading.Event() 對象來實現。

下面是一個示例代碼,演示了如何暫停和恢復兩個線程:

import threading
import time
# 創建一個 Event 對象,用于暫停和恢復線程
pause_event = threading.Event()
# 線程函數1
def thread1_func():
while True:
print("Thread 1 is running")
time.sleep(1)
# 檢查 Event 對象狀態,如果處于暫停狀態,則線程進入等待狀態
pause_event.wait()
# 線程函數2
def thread2_func():
while True:
print("Thread 2 is running")
time.sleep(1)
# 檢查 Event 對象狀態,如果處于暫停狀態,則線程進入等待狀態
pause_event.wait()
# 創建并啟動兩個線程
thread1 = threading.Thread(target=thread1_func)
thread2 = threading.Thread(target=thread2_func)
thread1.start()
thread2.start()
# 暫停線程
pause_event.clear()
time.sleep(3)
# 恢復線程
pause_event.set()
# 等待線程執行完畢
thread1.join()
thread2.join()

在上面的代碼中,創建了一個 Event 對象 pause_event,并在每個線程函數中使用 wait() 方法來檢查該對象的狀態。當 pause_event 處于暫停狀態(即 clear() 被調用),線程會進入等待狀態;當 pause_event 處于激活狀態(即 set() 被調用),線程會繼續執行。

通過調用 clear() 方法,可以暫停線程;通過調用 set() 方法,可以恢復線程的執行。在上面的示例中,線程會在啟動后暫停 3 秒鐘,然后再恢復執行,最后等待線程執行完畢。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女