[英]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.