Processo (Process)

Definição

Processo (Process) é uma instância de um programa em execução.
Ele representa a execução isolada de um conjunto de instruções, com seu próprio espaço de memória, recursos e contexto de execução.

Cada processo é independente: não compartilha variáveis, pilha ou heap com outros processos — o que garante isolamento e segurança, mas também maior custo de comunicação quando comparado a threads.

Objetivos do conceito de Processo

  • Isolar aplicações para garantir que falhas em uma não afetem outra.
  • Permitir execução simultânea de programas independentes no sistema operacional.
  • Facilitar a distribuição de recursos (memória, CPU) de maneira controlada.
  • Executar programas em paralelo utilizando múltiplos núcleos.

Exemplo prático (Python com multiprocessing)

from multiprocessing import Process

def diga_ola():
    print("Olá de um processo separado!")

if __name__ == "__main__":
    p = Process(target=diga_ola)
    p.start()
    p.join()

Esse código cria um novo processo separado do principal. Ambos rodam em paralelo, com seus próprios contextos de execução.

Saída esperada

Olá de um processo separado!

Visualização: Processo Principal e Processo Filho

[Processo Principal]
   |
   |-- define a função diga_ola()
   |-- cria p = Process(target=diga_ola)
   |-- chama p.start() ─────────────┐
   |                                |
   |                           [Processo Filho]
   |                             └── executa diga_ola()
   |
   └-- chama p.join() para aguardar o fim do processo filho

p = Process(...) apenas define o que o processo fará. O novo processo só é criado de fato em p.start(), quando o sistema operacional aloca um segundo processo independente.

O ciclo do processo

[Programa] --> [Processo iniciado] --> [Executa código isoladamente] --> [Finaliza ou comunica com outro processo]
  • Cada processo tem seu próprio espaço de memória.

  • A comunicação entre processos é feita por mecanismos específicos (como pipes ou filas).

  • Criar processos é mais custoso que criar threads, mas garante isolamento forte.

Relacionados

Política de Privacidade

Copyright © www.programicio.com Todos os direitos reservados

É proibida a reprodução do conteúdo desta página sem autorização prévia do autor.

Contato: programicio@gmail.com