并行化python 2.4中的循环

时间:2013-07-26 00:02:23

标签: python parallel-processing python-2.4

我有一些看起来像这样的代码:

for item in list:
    <bunch of slow python code, depending only on item>

我想通过并行循环来加快速度。通常情况下multiprocessing模块是完美的(请参阅this question的答案),但它是在python 2.6中添加的,我使用2.4。

在python 2.4中并行化python循环的最佳方法是什么?

2 个答案:

答案 0 :(得分:1)

您可能正在寻找“fork”,这样可以轻松使用特定项目。

你的for循环需要看起来有点不同 - 你想在fork返回零时立即爆发。

import os

L = ["a", "b", "c"]

for item in L:
    pid = os.fork()
    if pid == 0: break
    else: print "Forked:", pid

if pid != 0: print "Main Execution, Ends"
else: print "Execution:", item

答案 1 :(得分:0)

我不熟悉使用python 2.4,但您是否尝试过使用subprocess.Popen并生成新进程?

from subprocess import Popen

for x in range(n):
    processes.append(Popen('python doWork.py',shell = True))

for process in processes: 
    process.wait()