如果创建了一个进程池并且有 10 个进程但我的程序只使用 4 个进程,这意味着有 6 个空闲进程
使用进程池,一般伪代码如下:
pool=create_process_pool(M)
for i in 1:N:
pool.run(task i)
pool.wait()
pool.close()
池如何决定何时调用 pool.wait()?有一些情况:
1 如果M>N,例如M=10,N=6,那么有4个空闲进程。6个使用的进程,运行完毕退出,可以通知pool.wait(),但是4个空闲的进程,既然没有运行,怎么通知pool.wait()完成?
2 如果M < N,是一个进程完成一个任务并退出,它可能被用于另一个任务。那么这个进程如何知道它将不再有任务,所以通知 pool.wait()
谁能解释一下进程池在这方面是如何工作的?谢谢!