在Python中,可以通過設置線程對象的daemon
屬性為True
來關閉線程。當主線程結束時,所有的守護線程也會隨之結束。
另一種方式是使用threading
模塊提供的Thread
類的join()
方法。join()
方法會阻塞主線程,直到指定的線程結束。通過調用join()
方法,可以等待線程執行完畢,然后再繼續執行主線程的其他部分。
下面是使用這兩種方法關閉線程的示例代碼:
方法一:設置線程對象的daemon
屬性
import threading
import time
def my_thread():
while True:
print("Running...")
time.sleep(1)
t = threading.Thread(target=my_thread)
t.daemon = True # 設置線程為守護線程
t.start()
# 主線程繼續執行其他操作
time.sleep(5)
print("Main thread finished...")
方法二:使用join()
方法
import threading
import time
def my_thread():
while True:
print("Running...")
time.sleep(1)
t = threading.Thread(target=my_thread)
t.start()
# 主線程等待子線程執行完畢
t.join()
# 主線程繼續執行其他操作
print("Main thread finished...")
無論使用哪種方法,都可以實現關閉線程的效果。