如何终止正在运行的进程,开始使用 concurrent.futures ?据我了解,cancel()
方法用于从队列中删除未运行的进程。但是如何杀死正在运行的进程呢?例如,如果我有一个长时间运行的进程,并且我想在按下 GUI 中的取消按钮时停止它。
最佳答案
在这种情况下,对长时间运行的任务使用 multiprocessing.Process
可能会更好。
在开始新进程之前创建一个multiprocessing.Event
。让子进程定期检查此Event
的状态,并在Event.is_set()
返回True
时使其退出。
在您的 GUI 代码中,将回调与 Event
上的按钮调用 set()
相关联。
关于python - 有没有办法停止 concurrent.futures 中正在运行的进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16050212/