Я ищу что-то аналогичное CreateEvent (), SetEvent () и WaitForMultipleObjects () от мира Win32.
Конкретно это должно быть доступно через процессы на той же машине.
Мы уже используем Постепенно для некоторого кросс-платформенного материала, но я не вижу что Постепенно:: Событие - то, что я хочу. возможно, я пропускаю что-то.
Править:
Для объяснения, что я хочу сделать:
Я хочу, чтобы процесс B знал, когда что-то происходит в процессе A. Это тривиально в win32 - Каждый процесс/поток называет CreateEvent () с названием события. Обработайте вызовы B waitForXObject () и Процесс вызовы SetEvent (), когда что-то произойдет. B сообщен.
Снова, это тривиально в win32, но как сделать это межплатформенный.
В C++ нет встроенного способа делать именованные события. Но вы можете использовать ускорение, чтобы сделать это.
Вы ищете boost::condition и boost::named_condition
Как вы также упомянули, существует: Poco.NamedEvent
boost имеет ряд подобных кроссплатформенных примитивов потоковой передачи.
посмотрите на boost: mutex
На самом деле, посмотрите на Кросс-платформенный эквивалент событий Windows
ой - Увидев ответ Брайана об именованных событиях, мне кажется, что я пропустил решение Poco:
http://pocoproject.org/docs/Poco.NamedEvent .html
Я видел только Poco.Event
. Мы, вероятно, воспользуемся этим, поскольку он кажется более простым и легким в клиентском коде.