En la terminología de ciencias de la computación , un proceso es una instancia en ejecución de un programa en la memoria del ordenador . Estos procesos en la memoria también pueden generar otros procesos. El lenguaje de programación Python , al igual que otros lenguajes adecuados para el desarrollo de software de escritorio, ofrece una biblioteca para facilitar la creación y el mantenimiento de los procesos en un sistema informático . Procesos
Cuando un usuario inicia una aplicación, como un navegador web, la aplicación se convierte en un proceso que se ejecuta en el sistema operativo . Antes de la ejecución , el programa simplemente reside como datos en el disco duro . Cuando se ejecuta, el sistema operativo carga el programa en la memoria principal , o RAM . Todas las aplicaciones que se ejecutan se les da el espacio en la memoria RAM del sistema operativo mientras se ejecutan. Mientras se ejecuta el sistema operativo controla los procesos de aplicación a través de una tabla de procesos que describe el estado del proceso y en el que reside en la memoria .
Procesos desove
procesos pueden generar otros procesos destinados a realizar un trabajo simultáneo durante la ejecución del programa. Este "multi " permite que los programas para manejar muchas tareas diferentes al mismo tiempo. Un programa en Python, por ejemplo, puede generar un proceso separado usando la biblioteca "multi " y su objeto "Proceso " , como en el siguiente ejemplo :
de multiprocesamiento importación Proceso
import os
def hola () :
print (' Hola' )
p = Proceso ( target = hola)
p.start () //niño comienza proceso " p "
procesos que hace el trabajo
Un proceso hijo , dada una cierta tarea , llevará a cabo esa tarea , mientras que el proceso padre lleva a cabo su propia tarea . En el siguiente ejemplo, un programa Python genera un proceso , y tanto el proceso padre y el proceso hijo llama al mismo método " os.getpid ()" , que devuelve el identificador numérico del proceso actual :
def (PID ) :
print (' yo soy del proceso: ' , os.getpid ( ))
p = Proceso ( target = PID )
p.start ()
print (' yo soy proceso: ' , os.getpid ( ))
p.join () //termina la 'p' proceso
la salida de estos dos procesos es el siguiente . Tenga en cuenta que el comando principal " print" con el "proceso" en minúsculas normalmente se ejecuta primero
estoy proceso: . 57883
soy Proceso: 57884
Sharing datos entre procesos
dos procesos también pueden compartir datos entre sí con un objeto " Pipe" que crea una conexión entre los dos procesos . El uso de estos objetos de conexión , un proceso hijo puede enviar datos a un proceso padre , lo que permite que el proceso padre manipular o imprimir los datos guardados . El siguiente ejemplo muestra el uso del objeto Pipe :
def envío ( hijo) :
child.send ( [ 1 , 2 , 3 ] ) //el proceso hijo envía los datos al ejecución
child.close ()
if __ name__ == ' __main__ ' :
padre, hijo = Pipe ()
p = Proceso (objetivo = f, args = ( niño ))
p.start ()
parent.recv print () /proceso /padre recibe datos del niño
p.join