有没有办法杀死一个线程?是否可以在不设置/检查任何标志/信号量/等的情况下终止正在运行的线程?
4 回答
![?](http://img1.sycdn.imooc.com/533e4d470001a00a02000200-100-100.jpg)
红糖糍粑
TA贡献1815条经验 获得超6个赞
一个multiprocessing.Process
CANp.terminate()
在我想杀死一个线程但不想使用flags / locks / signals / semaphores / events /的情况下,我将线程提升为完整的进程。对于仅使用几个线程的代码,开销并不是那么糟糕。
例如,这可以轻松终止执行阻塞I / O的帮助程序“线程”
转换很简单:在相关的代码替换所有threading.Thread
与multiprocessing.Process
所有queue.Queue
带multiprocessing.Queue
,并添加所需的呼叫p.terminate()
到要杀死其子你的父进程p
添加回答
举报
0/150
提交
取消