所以这是交易
min_range = 1602
max_range = 9999999
for image in range(min_range,max_range):
p1=multiprocessing.Process(target=process,args=image,))
p1.start()
我有很多这样的程序要运行,我不能同时运行它们会破坏我的系统。我无法使用
一次运行每个流程 p1.join()
所以我想要做的就是运行20个进程并等到它们结束后,这20个进程完成后再运行20个。但是我不知道如何实现这一点请帮助我....谢谢:)
答案 0 :(得分:2)
multiprocessing.Process
适用于您想要自己定义/启动/控制所有进程的情况。
您的案例看起来更像是multiprocessing.Pool
的用例:您定义了一个并行进程池,将其处理为函数和参数(列表),并将工作自动分配给进程。
旁注:为什么你想要20个并行流程?如果要进行多处理以更好地使用CPU,并行进程的数量应为< =核心数(如果您有多线程CPU,则为线程)