python - 有没有办法停止 concurrent.futures 中正在运行的进程?

标签 python python-3.x multiprocessing

如何终止正在运行的进程,开始使用 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/

相关文章:

python - Pandas Dataframe将多个键值拆分为不同的列

python - SQLAlchemy 多列相关更新

javascript - WebAssembly、JavaScript 和其他语言

python - 如何在 Python 中为返回 None 但在磁盘中写入文件的函数编写文档字符串?

python - 检查是否有写过一次的不同字符

python - 加快python列表操作的方法

python - 使用 lambda 提高迭代数据帧时的代码效率

python - 在 linux (pySide) 上为特定版本安装 python 模块

c++ - 不确定 Dekkers 算法做错了什么

python - 为什么我收到多处理的递归错误?