其中,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