在查看了Thread / Queue模型之后,我想问一下如何以类似的方式创建一些东西:
例如,我有100个需要处理的项目,但我想一次处理20个 - 所以有20个插槽,一旦每个插槽被清空(项目完成处理),下一个就会坐下并开始处理。限制不需要是20,可以调整(30,50等)?
感谢您的建议和解答!
答案 0 :(得分:2)
import multiprocessing
import time
def process(x):
time.sleep(1)
return x
if __name__ == '__main__':
jobs = range(100)
pool = multiprocessing.Pool(20)
for result in pool.imap_unordered(process, jobs):
print(result)
pool.close()
pool.join()