Python 中终止线程的方法有以下几种:
import threading
def my_thread():
while not stop_flag:
# 线程执行的代码
stop_flag = False
thread = threading.Thread(target=my_thread)
thread.start()
# 终止线程
stop_flag = True
thread.join()
import threading
def my_thread(event):
while not event.is_set():
# 线程执行的代码
event = threading.Event()
thread = threading.Thread(target=my_thread, args=(event,))
thread.start()
# 终止线程
event.set()
thread.join()
import threading
def my_thread():
# 线程执行的代码
thread = threading.Timer(0, my_thread)
thread.start()
# 终止线程
thread.cancel()
需要注意的是,以上方法在终止线程时都是通过设置某个标志位或者事件来通知线程退出,线程内部需要根据这些标志位或者事件的状态来判断是否继续执行。实际上,Python 中的线程无法直接终止,只能通过设置标志位或者事件来间接实现终止线程的效果。