簡體   English   中英

並行化python 2.4中的循環

[英]Parallelize a loop in python 2.4

我有一些看起來像這樣的代碼:

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

我想通過並行化循環來加快速度。 通常, multiprocessing模塊對此非常合適(請參閱此問題的答案),但是它是在python 2.6中添加的,而我在使用2.4時陷入困境。

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

您可能正在尋找“叉子”,這將使使用特定項目變得容易。

但是,您的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

我不熟悉使用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()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM