python 多线程启动后主动杀死某个子线程的方式例子
时间: 2023-06-07 13:10:54 浏览: 90
可以使用Python的`Thread`类和`Event`类来实现这一功能,例如以下代码示例:
```python
import threading
class MyThread(threading.Thread):
def __init__(self, event):
threading.Thread.__init__(self)
self.stopped = event
def run(self):
while not self.stopped.wait(1):
print("Thread is running...")
def main():
# create event object to manage stops
stop_event = threading.Event()
# create and start the thread
my_thread = MyThread(stop_event)
my_thread.start()
# stop the thread after 5 seconds
stop_event.set()
my_thread.join()
if __name__ == "__main__":
main()
```
在这个例子中,`MyThread`类继承了Python的`Thread`类,并创建了一个名为`stopped`的事件对象,该对象管理线程的停止。在`run`方法中,线程会一直运行,直到`stopped`事件被设置为`True`。在主函数中,线程启动后等待5秒钟后,设置`stopped`事件的值为`True`,以停止线程,并通过`join`方法等待线程结束。
阅读全文