我需要重写一些使用 windows WaitforSingleObject 函数的代码。
myEvent = CreateEvent( NULL, FALSE, FALSE, szName );
WaitForSingleObject( myEvent, nMilliseconds );
我需要等待事件或超时发生。在直接 C++ 中是否有与此等价的功能?
我使用的是 STL C++11,而不是任何其他库,例如 boost。
我需要重写一些使用 windows WaitforSingleObject 函数的代码。
myEvent = CreateEvent( NULL, FALSE, FALSE, szName );
WaitForSingleObject( myEvent, nMilliseconds );
我需要等待事件或超时发生。在直接 C++ 中是否有与此等价的功能?
我使用的是 STL C++11,而不是任何其他库,例如 boost。
您不能将 C++11 线程例程与 win32 线程一起使用(除非您严重搞砸了 mingw 线程实现,我不建议这样做),并且没有与特定于操作系统的 API 调用等效的标准 C++。
但是,您可以使用 C++11 线程并使用条件变量(cfr. waiting )来完成与WaitForSingleObject相同的事情,即
编辑:特别是你需要wait_until
是的,您只能使用 C++11。这是一个示例(此处太长无法粘贴):https ://github.com/moya-lang/Event/blob/master/Event.h 。该代码完全模仿 WINAPI 事件对象,因此这是您所要求的。