Apabila melihat dokumentasi pelbagai proses, saya melihat penerangan bahawa terdapat salinan pada mekanisme tulis antara memori proses kanak-kanak yang dicipta oleh os.fork() atau mutiprocess dan proses utama, yang bermaksud bahawa proses kanak-kanak akan salin memori proses utama.
Oleh kerana dokumen yang saya lihat berada di Linux, saya mengujinya pada Windows.
Baca dokumen yang lebih besar dalam proses utama dan buat proses, dan terus buat proses anak.
Selepas perbandingan, hanya satu daripada proses yang mempunyai jejak memori yang lebih besar.
Maafkan saya, jika Python mencipta subproses dalam Windows, adakah ia akan menyalin memori proses utama? Jika penyalinan berlaku, pada langkah manakah ia berlaku Buat subproses, mulakan subproses atau salin semasa menulis? Adakah terdapat buku yang menerangkan pelbagai kegunaan ular sawa dengan lebih terperinci dan sistematik?
写时复制(COW)
只是对于fork
实现而言, 但是在windows
是直接CreateProcess
, 应该是不会有这个过程, 具体可以谷歌下CreateProcess
Prinsip dan pelaksanaan, anda juga boleh merujuk pautan berikut:Mencipta proses di bawah tingkap, penerangan terperinci dan penggunaan CreateProcess()