Один Producer - Много Consumers C++
- 1 производитель должен генерировать данные с заданным темпом (например, 500 мс).
- 10 потребителей должны получать одни и те же данные, но со своим индивидуальным темпом (от 500 мс до 10 с). И у них не должно быть конкуренции типа один получил, другие - нет.
- Производитель и потребители должны работать в отдельных потоках (процессах?).
Вопрос, как лучше организовать взаимодействие производителя и потребителей?
а) Производитель отправляет всем вычисленные данные со своим темпом, а потребители пусть сами разбираются, использовать эти данные в данный момент или пропускать и ждать своего случая?
б) Потребители сами обращаются в нужное им время и запрашивают у производителя данные на нужный им момент?
Использовать для обмена потоки? Или разместить производителя и потребителей в разные процессы и применить IPC в виде pipes? Или обмен по сети?
Для платформы Windows, язык с++ (Qt, Visual Studio)