es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿El método .spawn() de multiprocessing no copia nada de su proceso padre?

Eres un traductor español que traduce documentos de TI. Traduce lo siguiente al español. No traduzcas el código y la salida en markdownEjecutando python 3.8 con MacOSX. Mi entendimiento de spawn multiprocessing es que crea un nuevo proceso, importa el módulo padre y luego ejecuta la función con la que fue llamado. Spawn en realidad no copia ninguna de la memoria de trabajo de la función padre. ¿Es eso cierto?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Sí, eso es correcto. Al usar el método de inicio “spawn” en multiprocessing con Python 3.8 en macOSX, se crea un nuevo proceso e importa el módulo padre. La función que fue llamada con multiprocessing luego se ejecuta dentro del proceso hijo. Sin embargo, el proceso hijo no tiene acceso a la memoria de trabajo del proceso padre. Específicamente, el proceso hijo no hereda ninguna de las variables globales o estructuras de datos del proceso padre. Esto se debe a que el proceso hijo se crea utilizando fork() internamente y se utiliza una estrategia de copia en escritura para administrar la memoria. Este enfoque asegura que cada proceso tenga su propio espacio de memoria independiente y cualquier cambio realizado por un proceso no afecte la memoria de otros procesos.

Comments are closed.