【问题标题】:How do I run some python code in another process?如何在另一个进程中运行一些 python 代码?
【发布时间】:2011-09-15 12:24:03
【问题描述】:

我想从 Python 开始一些其他 Python 代码,最好是一个函数,但在另一个进程中。

必须在另一个进程中运行它,因为我想运行一些并发测试,比如打开一个由父进程独占打开的文件(这必须失败)。

要求:

  • 多平台:linux、osx、windows
  • 兼容 Python 2.6-3.x

【问题讨论】:

标签: python multiprocessing


【解决方案1】:

我会认真查看multiprocessing Python 库的文档。从包装描述的第一句话开始:

multiprocessing 是一个使用类似于线程模块的 API 支持生成进程的包。

然后它继续说它回避了 GIL,这听起来像是你试图避免的。查看他们的简单设置示例:

from multiprocessing import Process

def f(name):
    print 'hello', name

if __name__ == '__main__':
    p = Process(target=f, args=('bob',))
    p.start()
    p.join()

这是在与您所在的进程不同的另一个进程中完成的函数调用。同样,所有这些都来自文档。

【讨论】:

    猜你喜欢
    • 2022-11-18
    • 2020-01-01
    • 2017-04-25
    • 2020-09-11
    • 2018-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多