在Win32中是否有一个C++交叉平台"命名事件,如"CreateEvent()"?

Tim*_*Tim 7 c++ events signals cross-platform

我正在寻找类似于Win32世界中的CreateEvent(),SetEvent()和WaitForMultipleObjects()的东西.

具体而言,这必须可以在同一台机器上的进程之间访问.

我们已经在使用Poco进行一些跨平台的工作,但我没有看到Poco :: Event就是我想要的.也许我错过了什么.

编辑:

解释我想做什么:

我希望进程B知道进程A中何时发生了什么.这在win32中是微不足道的 - 每个进程/线程都调用带有事件名称的CreateEvent().当事情发生时,进程B调用waitForXObject()并且进程A调用SetEvent().B发出信号.

再次,这在win32中是微不足道的,但如何跨平台做到这一点.

Bri*_*ndy 4

C++ 中没有内置方法来执行命名事件。但你可以使用 boost 来做到这一点。

您正在寻找boost::conditionboost::named_condition

正如您还提到的,存在:Poco.NamedEvent