在查看多進程文件的時候看到一段描述,os.fork()或mutiprocess的創建的子進程和主進程的記憶體存在copy on write機制,也就是說子進程會複製主進程的記憶體。
因為看到的文件是在linux上,所以在windows上測了一下。
在主行程中讀入一個較大的文件再建立行程,和直接建立子行程。
比較後,僅其中一個進程記憶體佔用變大。
請問,在windows中 python建立子程序是否會拷貝主程序的記憶體?如果會拷貝是在哪個步驟出現,建立子進程,還是啟動子進程,或是copy on write?有那些書比較詳細系統的說明python的各種使用?
滿天的星座2017-06-12 09:25:56
寫時複製(COW)
只是對於fork
實現而言, 但是在windows
是直接CreateProcess
, 應該是不會有這個過程, 具體可以穀歌下CreateProcess
, 應該是不會有這個過程, 具體可以穀歌下
CreateProcess