我的控制台应用程序在父线程中调用WaitForSingleObject
,超时值为5秒。
dwObjectWaitState = ::WaitForSingleObject( s_hRxDataEvent, 50000L );
配置物理环境(即没有代码更改),以便事件永远不会发出信号,我在下一行设置断点,然后运行应用程序。 PC永远不会到达断点。 s_hRxDataEvent
是一个有效的事件句柄,通常在子线程中设置。当物理环境按预期配置时,应用程序很有用。为什么功能没有超时?感谢。
答案 0 :(得分:2)
超时以毫秒为单位。 50000是50秒,而不是5秒。
答案 1 :(得分:1)
请注意,那里有一个额外的零。
答案 2 :(得分:1)
50000L毫秒= 50秒。
答案 3 :(得分:1)
WaitForSingleObject
的超时值以毫秒为单位,因此50000L表示50秒,而不是5秒。