假设我们从vartec的answer开始,它展示了如何使用多处理worker:
import multiprocessing
def worker(procnum, return_dict):
'''worker function'''
print str(procnum) + ' represent!'
return_dict[procnum] = procnum
if __name__ == '__main__':
manager = multiprocessing.Manager()
return_dict = manager.dict()
jobs = []
for i in range(5):
p = multiprocessing.Process(target=worker, args=(i,return_dict))
jobs.append(p)
p.start()
for proc in jobs:
proc.join()
print return_dict.values()
我想做同样的事情,只将并发进程的数量限制在X以内。我如何使用workers来做到这一点呢?在
在这里,使用pool/map并不是最好的选择,因为我有这样一个for循环:
^{pr2}$因此,我想启动process_result_in_a_way_that_can_be_parallelized
并继续我的for循环。不要等到for循环结束,然后再进行多进程处理,那样会耗费更多的时间。在
您不必将^{} 与^{} 一起使用。您可以使用^{} 按自己的计划向池提交作业。在
相关问题 更多 >
编程相关推荐