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.