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



我正在使用multiprocessing python库,也使用emcee也使用不同的线程来实现MCMC。问题是,即使我close pool,似乎python使用处理器并减慢内核的速度,我不知道在工作完成后释放内核的有效方法是什么。谁能告诉我我应该做什么?
更新:我的代码已经发布在这里。

关闭Pool不会阻止它执行工作,它只是阻止向其添加新的工作项:

关闭((

防止将更多任务提交到池中。一旦所有 任务已完成,工作进程将退出。

因此,如果您有很多排队的任务,关闭Pool不会对资源使用情况产生任何影响 - 所有工作线程将继续使用这些排队的任务,直到它们消失。如果要基本上立即中止所有工作项,则必须使用pool.terminate

终止((

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

相关内容

  • 没有找到相关文章

最新更新