基于this question我将使用波科:: NamedEvent,但我需要等待多个事件(如Win32的WaitForMultipleObjects的()Poco C++库是否具有跨平台的WaitForMultipleObjects()模拟?
是否有POCO这样的事?(搜索文档不会产生太大但也许我没有使用正确的搜索)
基于this question我将使用波科:: NamedEvent,但我需要等待多个事件(如Win32的WaitForMultipleObjects的()Poco C++库是否具有跨平台的WaitForMultipleObjects()模拟?
是否有POCO这样的事?(搜索文档不会产生太大但也许我没有使用正确的搜索)
我不认为你会发现在任何跨平台的软件包,包括Poco的WaitForMultipleObjects()。没有我知道的Unix变体包在那种功能单个API调用,而是根据您正在等待的对象类型将其展开。
class NotificationQueue会让您排队等待obj并加以处理。无论如何,使用IOC和委托最好是使用OOP,而不是使用大的WaitForMultipleObjects,然后使用switch语句。
它们都是同一类对象 - 在这种情况下是一个NamedEvent。 – Tim 2010-04-19 17:55:33
@Tim您可能已经看过,但是根据平台,NamedEvent只是CreateEvent或信号量的包装。不知道你在做什么,但我没有看到一个简单的方法,而没有编写你自己的聪明的黑客。 – Duck 2010-04-19 20:08:23
是的 - 我为waitformultipleobjects刷新了源代码。我会为每个事件启动一个线程并等待它。不知道这是最好的解决方案,但它会工作... – Tim 2010-04-19 20:12:29