使用Python多处理返回第一个结果

时间:2017-03-02 03:33:39

标签: python python-3.x

我正在尝试生成一组满足特定要求的随机值。

我想并行尝试加快速度。就是这样:

pool = multiprocessing.Pool(8)
pool.map(gen_random_set, [set_size]*8)

但是,我不需要多套,只需一套。在找到第一个集合后,如何终止池(可能是使用pool.terminate())?

1 个答案:

答案 0 :(得分:0)

这是一个终止的例子:

import multiprocessing
from multiprocessing import Pool
    def worker(i):
     time.sleep(3)
     print(i)

    mypool = Pool()
    a = mypool.map_async(worker,range(1000))

当你运行它时,你的池执行将停止:

multiprocessing.pool.Pool.terminate(mypool)

名称'mypool'应与mypool = Pool()

创建的池对象相同