Python 在每个并行作业之后关闭多处理

Python 在每个并行作业之后关闭多处理,python,multithreading,multiprocessing,pool,emcee,Python,Multithreading,Multiprocessing,Pool,Emcee,我正在使用python的多处理库和emcee,它也使用不同的线程来实现MCMC。问题是,即使我关闭池时,python似乎仍在使用处理器并降低内核速度,我不知道在完成任务后释放内核的有效方法是什么。谁能告诉我该怎么做吗? 更新: 我的代码已发布关闭池不会阻止它工作,它: 关闭() 防止向池提交更多任务。一朝 任务已完成,工作进程将退出 因此,如果您有很多排队的任务,关闭池将不会对资源使用产生任何影响-所有工作人员将继续使用这些排队的任务,直到它们离开。如果要立即基本中止所有工作项,必须使用: 终止

我正在使用python的
多处理
库和
emcee
,它也使用不同的线程来实现
MCMC
。问题是,即使我关闭
时,python似乎仍在使用处理器并降低内核速度,我不知道在完成任务后释放内核的有效方法是什么。谁能告诉我该怎么做吗?
更新:
我的代码已发布

关闭
不会阻止它工作,它:

关闭()

防止向池提交更多任务。一朝 任务已完成,工作进程将退出

因此,如果您有很多排队的任务,关闭
池将不会对资源使用产生任何影响-所有工作人员将继续使用这些排队的任务,直到它们离开。如果要立即基本中止所有工作项,必须使用:

终止()

立即停止工作进程而不完成未完成的工作。当池对象被垃圾收集时,将立即调用
terminate()


当你说python仍然使用处理器并降低内核速度时,你是什么意思?你是如何测试的?@FrobberOfBits我使用ubuntu,然后当我运行命令
top
时,我发现我的作业没有被终止,内核仍在使用。发布你的代码,让我们了解你是如何关闭池的,还提供关于如何运行int的更多细节。@FrobberOfBits我发布了代码。