Sobes.tech
Senior

Quais são os tipos de interação entre processos (IPC)?

sobes.tech IA

Resposta da IA

A interação entre processos (IPC) são as formas de trocar dados entre diferentes processos no sistema operativo. Os principais tipos de IPC:

  • Canais (Pipes) — permitem transmitir dados em fluxo de um processo para outro.
  • Sockets — facilitam a troca de dados através da rede ou localmente (sockets de domínio Unix).
  • Memória partilhada (Shared Memory) — uma área de memória é reservada, acessível por vários processos para leitura e escrita.
  • Semáforos — usados para sincronizar o acesso a recursos partilhados.
  • Filas de mensagens (Message Queues) — os processos trocam mensagens através de uma fila.
  • Sinais — notificações assíncronas sobre eventos.

Em Go, para IPC, frequentemente usam-se canais (channels) para interação entre goroutines, e para interação entre processos — sockets, ficheiros ou chamadas ao sistema envoltas em pacotes. Por exemplo, pode-se usar o pacote net para sockets TCP/Unix ou os para trabalhar com ficheiros e sinais.