多处理中的有序打印(pool.map)

时间:2018-03-07 00:50:07

标签: python multithreading multiprocessing pool

我使用python多处理来加速某些任务, 所以我遇到了一个问题,在印刷品上没有订购,他们没有订购。

代码:

import sys
from multiprocessing.dummy import Pool


def run(n):
    sys.stdout.write('=' * 40 + '\n')
    # some task goes here
    sys.stdout.write(str(n) + '\n')


p = Pool(4)
p.map(run, [i for i in range(50)], chunksize=1)
p.close()
p.join()

当前输出:

========================================
========================================
========================================
38
39
40
========================================
========================================
========================================
41
42
43
========================================
========================================
========================================
44
45
46
....

预期输出:

========================================
38
========================================
39
========================================
40
========================================
41
========================================
...

0 个答案:

没有答案