Na terminologia da informática , um processo é uma instância em execução de um programa na memória do computador . Estes processos na memória também pode gerar outros processos. A linguagem de programação Python , bem como outros idiomas adequados para o desenvolvimento de software desktop, oferece uma biblioteca para facilitar a criação e manutenção de processos em um sistema de computador. Processos
Quando um usuário inicia um aplicativo, como um navegador da Web , o aplicativo se torna um processo em execução no sistema operacional . Antes da execução , um programa reside simplesmente como dados no disco rígido . Quando executado , o sistema operacional carrega o programa para a memória principal , ou memória RAM. Todos os aplicativos em execução são dadas espaço na memória RAM pelo sistema operacional , enquanto eles correm . Durante a execução , o sistema operacional monitora os processos de aplicativos através de uma tabela de processos que descreve o estado do processo e onde ele reside na memória.
Processos gerados
processos podem gerar outros processos destinados a realizar o trabalho simultâneo durante a execução do programa. Este " multiprocessamento " permite que programas para lidar com muitas tarefas diferentes ao mesmo tempo . Um programa em Python, por exemplo, pode gerar um processo separado usando a biblioteca " multiprocessamento " e seu objeto "Processo" , como no exemplo a seguir :
de multiprocessamento processo de importação
import os
def Olá ():
print (' Olá ')
p = Processo ( target = Olá)
p.start () //inicia o processo de criança "p"
processos fazendo um trabalho
Um processo filho , dado alguma tarefa, irá executar essa tarefa , enquanto o processo pai executa sua própria tarefa . No exemplo a seguir , um programa Python gera um processo , e tanto o processo pai eo processo filho chamar o mesmo método " os.getpid ()" , que retorna o ID numérico do processo atual :
def pId ():
print (' Eu sou Processo :', os.getpid ())
p = Processo ( target = pID)
p.start ()
print (' Eu sou processo :', os.getpid ())
p.join () //termina o processo de 'p ' em
a saída destes dois processos é como se segue . Note-se que o pai "print" comando com o "processo" minúsculas normalmente é executado primeiro
Estou processo : . 57883
Estou Processo : 57884
Sharing dados entre processos
dois processos também pode compartilhar dados entre si com um objeto " Cachimbo ", que cria uma conexão entre os dois processos. Usando esses objetos de conexão , um processo filho pode enviar dados para um processo pai , permitindo que o processo pai para manipular ou imprimir os dados salvos. O exemplo a seguir mostra o uso do objeto Tubo :
def enviar (criança) :
child.send ( [1 , 2, 3 ]) //o processo filho envia os dados quando execução
child.close ()
if __ name__ == ' __main__ ':
pais, filhos = Pipe ( )
p = Processo (target = f , args = ( criança, ) )
p.start ()
parent.recv print () //processo pai recebe dados de criança
p.join