En regardant la documentation multi-processus, j'ai vu une description selon laquelle il existe un mécanisme de copie en écriture entre la mémoire du processus enfant créé par os.fork() ou mutiprocess et le processus principal, ce qui signifie que le processus enfant sera copier la mémoire du processus principal.
Le document que j'ai vu étant sous Linux, je l'ai testé sous Windows.
Lisez un document plus volumineux dans le processus principal et créez un processus, puis créez directement un processus enfant.
Après comparaison, un seul des processus a une empreinte mémoire plus importante.
Excusez-moi, si Python crée un sous-processus dans Windows, copiera-t-il la mémoire du processus principal ? Si une copie a lieu, à quelle étape se produit-elle ? Créer un sous-processus, démarrer un sous-processus ou copier en écriture ? Existe-t-il des livres qui expliquent plus en détail et systématiquement les différentes utilisations de Python ?
写时复制(COW)
只是对于fork
实现而言, 但是在windows
是直接CreateProcess
, 应该是不会有这个过程, 具体可以谷歌下CreateProcess
Principe et mise en œuvre, vous pouvez également vous référer au lien suivant :Création d'un processus sous Windows, explication détaillée et utilisation de CreateProcess()