У меня есть 2 приложения:
- Производитель (N экземпляров)
- Потребитель (1 экземпляр)
В настоящее время я записываю промежуточные результаты от производителей, а затем потребитель читает эти файлы с диска и выдает окончательный результат.
Я хотел бы свести к минимуму этот ввод-вывод путем «потоковой передачи» выходов от производителей непосредственно к потребителю.
Я наткнулся на именованные каналы (mkfifo) и последующий пример здесь . Это выглядит великолепно, но я не могу определить, как это на самом деле реализовано? Очередь FIFO просто буферизируется через файл? Если это так, это, вероятно, не поможет мне. Я хотел бы, чтобы содержимое передавалось «через память» полностью без использования диска. Может быть, это невозможно в разных процессах?