为可重复循环Python创建工作者

时间:2017-09-29 06:14:23

标签: python multithreading python-3.x concurrency

我如何使用工作人员(多处理),例如我最多可以一次使用10个,但我需要他们做~150个任务。

def main():
    for i in serverinfo :
        grabfile(i,serverinfo[i]["ip"],serverinfo[i]["psw"])

grabfile是我想要与那些~10名工人一起做的任务,但我真的不明白如何让他们一起工作,例如他们都从任务编号1-10开始,然后当他们完成时,他们将获得执行11-20 PS任务的新任务我在代码snipet中将任务编号称为" i"

1 个答案:

答案 0 :(得分:1)

使用ThreadPoolExecuter

中的cuncurrnt.futures

看起来应该是这样的:

import concurrent.futures

pool = concurrent.futures.ThreadPoolExecutor(10) # max 10 worker threads

for x in data_to_work_on:
    pool.submit(worker_function, x.param1, x.param2)