python 关闭两个线程
时间: 2023-07-21 13:07:18 浏览: 227
你可以使用 threading
模块中的 Thread
类来创建线程,并使用 join()
方法来等待线程结束。如果你需要在程序运行时关闭线程,可以使用 Thread
类的 stop()
方法来停止线程。但是,这个方法不太安全,因为它可能会在程序的任何地方停止线程,而不是在一个安全的点停止它。更好的方法是使用一个标志,例如一个布尔变量,来控制线程何时停止。
以下是一个例子,演示如何使用标志来关闭线程:
import threading
import time
class MyThread(threading.Thread):
def __init__(self):
super().__init__()
self.stop_event = threading.Event()
def run(self):
while not self.stop_event.is_set():
print("Thread is running")
time.sleep(1)
def stop(self):
self.stop_event.set()
# 创建线程并启动
t = MyThread()
t.start()
# 等待一段时间
time.sleep(5)
# 关闭线程
t.stop()
# 等待线程结束
t.join()
在上面的代码中,我们创建了一个名为 MyThread
的线程类,并定义了一个 stop_event
标志来控制线程何时停止。我们在 run()
方法中使用了一个循环来执行线程的操作,直到标志被设置为停止。在 stop()
方法中,我们设置了标志,以便在下一次循环时停止线程。最后,我们启动线程并等待5秒钟,然后关闭线程并等待线程结束。
阅读全文
相关推荐


















