マルチプロセスのドキュメントを参照しているときに、os.fork() または mutiprocess によって作成された子プロセスのメモリとメイン プロセスにはコピー オン ライト メカニズムがあるという説明がありました。これは、子プロセスがコピーすることを意味します。メインプロセスのメモリ。
私が見たドキュメントは Linux 上にあったため、Windows 上でテストしました。
メインプロセスで大きなドキュメントを読み込んでからプロセスを作成し、子プロセスを直接作成します。
比較すると、プロセスのうち 1 つだけがより多くのメモリ使用量を持っています。
すみません、Python は Windows でサブプロセスを作成するときに、メイン プロセスのメモリをコピーしますか?コピーが発生する場合、どのステップで発生しますか? サブプロセスを作成するか、サブプロセスを開始するか、書き込み時にコピーしますか? Python のさまざまな用途をより詳細かつ体系的に説明した本はありますか?
滿天的星座2017-06-12 09:25:56
写时复制(COW)
只是对于fork
实现而言, 但是在windows
是直接CreateProcess
, 应该是不会有这个过程, 具体可以谷歌下CreateProcess
原理と実装については、次のリンクも参照してください:
Windows でのプロセスの作成、CreateProcess() の詳細な説明と使用法