我需要重写一些使用windows WaitforSingleObject函数的代码。
myEvent = CreateEvent( NULL, FALSE, FALSE, szName );
WaitForSingleObject( myEvent, nMilliseconds );
我需要等待事件或超时发生。 在直接C ++中是否有相同的东西?
我使用的是STL C ++ 11而不是其他任何库,例如boost。
答案 0 :(得分:4)
您不能在win32线程中使用C ++ 11线程例程(除非您严重搞乱mingw线程实现,我不建议这样做)并且没有标准C ++等同于OS-特定的API调用。
但是,您可以使用C ++ 11线程并使用condition variables(cfr。等待)来完成WaitForSingleObject所做的同样的事情,即
编辑:具体来说,您需要wait_until
答案 1 :(得分:-2)
是的,您只能使用C ++ 11。这是一个示例(太久不能粘贴到此处):https://github.com/moya-lang/Event/blob/master/Event.h。该代码完全模仿WINAPI事件对象,因此您需要这样做。