首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在python 2.4中并行化一个循环

在python 2.4中并行化一个循环
EN

Stack Overflow用户
提问于 2013-07-26 00:02:23
回答 2查看 598关注 0票数 1

我有一些代码如下所示:

代码语言:javascript
运行
复制
for item in list:
    <bunch of slow python code, depending only on item>

我想通过并行循环来加快速度。通常情况下,multiprocessing模块非常适合这一点(参见this question的答案),但它是在python2.6中添加的,我只能使用2.4。

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-26 00:25:44

您可能正在寻找“叉”,这将使它更容易使用特定的项目。

  • http://docs.python.org/release/2.4/lib/os-process.html
  • Python

但是,您的for循环需要看起来有点不同--您想要在叉返回零时立即退出。

代码语言:javascript
运行
复制
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
EN

Stack Overflow用户

发布于 2013-07-26 00:09:08

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

代码语言:javascript
运行
复制
from subprocess import Popen

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

for process in processes: 
    process.wait()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17870778

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档