我想从Python开始,一些其他Python代码,最好是一个函数,但是在另一个进程。
必须在另一个进程中运行它,因为我想运行一些并发性测试,比如打开一个由父进程独占打开的文件(这必须失败)。
要求:
答案 0 :(得分:14)
我会认真看一下Python multiprocessing库的文档。从包装说明的第一句开始:
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()
这是一个函数调用,是在另一个与你内部进程分开的进程中完成的。同样,所有这些都来自文档。