多处理.池子进程的优雅终止

2024-04-20 14:33:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在努力更好地控制我的进程池。我发现在池循环中调用break调用池.终止()并强制终止子进程,但我希望它们完成其块并优雅地退出。手册上说我应该用池.关闭():close() Prevents any more tasks from being submitted to the pool.

试验过程:

chunks = range(7)
with Pool(2) as pool:
    ret = pool.imap_unordered(work, chunks)
    for reply in ret:
        info(reply)
        if reply == "processed 2":
           pool.close()

子进程:

^{pr2}$

我预计在调用close()之后最多可以完成2个任务,但没有停止:

^{3}$

Tags: fromclose进程moreany手册replychunks