У меня есть проект, состоящий из двух процессов, и мне нужно передавать некоторые данные между ними быстрым и эффективным образом.C++ несколько процессов?
Я знаю, что я мог бы использовать сокеты для этого, используя TCP, хотя оба процесса будут всегда существовать на одном компьютере, однако это, похоже, не очень эффективное решение.
Я вижу много информации об использовании «труб» в Linux. Однако я в первую очередь хочу это для Windows и Linux (желательно через кросс-платформенную библиотеку), в идеале в безопасном типе, неблокирующий способ.
Еще одна важная вещь: мне нужно поддерживать несколько экземпляров всего приложения (то есть оба процесса), каждый со своей независимой копией объектов связи.
Также существует кросс-платформенный способ создания нового процесса?
boost :: interprocess имеет фиктивную реализацию на окнах, которая использует оживленные ожидания для всего. Я бы не рекомендовал это сам. – bdonlan