我正在寻找类似于 Win32 世界中的 CreateEvent()、SetEvent() 和 WaitForMultipleObjects() 的东西。
具体来说,这必须可以在同一台机器上跨进程访问。
我们已经在使用 Poco 来做一些跨平台的事情,但我不认为 Poco::Event 是我想要的。也许我错过了一些东西。
EDIT:
解释一下我想做的事情:
我希望进程 B 知道进程 A 中何时发生了某些事情。这在 win32 中很简单 - 每个进程/线程都使用事件名称调用 CreateEvent()。当有事情发生时,进程 B 调用 waitForXObject(),进程 A 调用 SetEvent()。 B 收到信号。
同样,这在 win32 中是微不足道的,但如何跨平台做到这一点。
C++ 中没有内置方法来执行命名事件。但你可以使用 boost 来做到这一点。
您正在寻找提升::条件 http://www.boost.org/doc/libs/1_34_1/doc/html/boost/condition.html and 升压::命名条件 http://www.boost.org/doc/libs/1_36_0/doc/html/boost/interprocess/named_condition.html
正如您也提到的,存在:Poco.NamedEvent http://pocoproject.org/docs/Poco.NamedEvent.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)