Eu tenho 2 aplicativos:
- Produtor (N instâncias)
- Consumidor (1 instância)
Atualmente, escrevo resultados intermediários dos produtores e, em seguida, o consumidor lê esses arquivos do disco e produz um resultado final .
Eu gostaria de minimizar essa E / S "transmitindo" as saídas dos produtores diretamente para o consumidor.
Me deparei com pipes nomeados (mkfifo) e um exemplo subseqüente aqui . Parece ótimo, mas o que não consigo determinar é como isso é realmente implementado? A fila FIFO está sendo armazenada no buffer através de um arquivo? Nesse caso, isso provavelmente não me ajudaria. Eu gostaria que o conteúdo fosse transmitido "através da memória" inteiramente sem utilizar o disco. Talvez isso não seja possível entre os processos?