Python在同一时间开始X处理

时间:2018-03-24 03:06:15

标签: python

我正在处理一个问题,需要我同时运行X(10,20或30)个进程。那可能吗?我对计算机体系结构的理解很薄弱,对此感到抱歉。

我已经研究过Python 3的多处理模块,但是我无法按照我的意愿使用它。例如:

def test(number):
    for i in range(4):
        print("process {}, iteration {}".format(number, i))

pool = ThreadPool(4)
processes = [i for i in range(10)]
pool.map(test, processes)

输出是这样的:

process 0, iteration 0
process 0, iteration 1
process 0, iteration 2
process 0, iteration 3
process 1, iteration 0
process 1, iteration 1
process 1, iteration 2
process 1, iteration 3
...

我想要的是:

process 0, iteration 0
process 1, iteration 0
process 2, iteration 0
process 3, iteration 0
process 4, iteration 0
...
process 9, iteration 0
process 0, iteration 1
...

迭代发生的顺序对我来说并不重要,只是所有10个进程同时启动。 Python的池方法似乎是启动N个进程,然后等待它们完成,然后启动下一个N个进程,等等。我想立即启动所有进程。

这可能吗?谢谢!

0 个答案:

没有答案