其中,C静态变量我已经写在C++函数用C语言编写的(wrapper.c)一个Python包装蟒蛇叫富,并使其可调用( foo_wrapper)。在python多进程
在wrapper.c中,我有一个静态全局变量“x”,它由 foo使用和更新。
现在一切正常,当我在一个过程中从python呼叫 foo。
但是,虽然我在Python中使用多进程模块,但即使从主进程调用foo,此“x”值也不是它应该是的!调用过程是这样的:
P=Process(target=myf, args=(a,))
P.start()
foo_wrapper()
P.join()
我的问题是:当叉()被调用,即多个进程启动,如何处理蟒父/子进程的堆栈或堆?我怎样才能将“x”的价值赋予主流程(或父流程)?
“这个‘X’的值是不是也应该如此!” - 你能多给一点描述吗?它有什么问题? – mgilson
x初始化一次。但是在fork之后,主进程中的x值没有加载,即与以前不一样。 – pilot