在 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 秒鐘,然后再恢復執行,最后等待線程執行完畢。