突破WaitForMultipleObject等待限制
2017-10-30 14:56
197 查看
DWORD SyncWaitForMultipleObjs(HANDLE * handles, int count) { int waitingThreadsCount = count; int index = 0; DWORD res = 0; while (waitingThreadsCount >= MAXIMUM_WAIT_OBJECTS) { res = WaitForMultipleObjects(MAXIMUM_WAIT_OBJECTS, &handles[index], TRUE, INFINITE); if (res == WAIT_TIMEOUT || res == WAIT_FAILED) { puts("1. Wait Failed."); return res; } waitingThreadsCount -= MAXIMUM_WAIT_OBJECTS; index += MAXIMUM_WAIT_OBJECTS; } if (waitingThreadsCount > 0) { res = WaitForMultipleObjects(waitingThreadsCount, &handles[index], TRUE, INFINITE); if (res == WAIT_TIMEOUT || res == WAIT_FAILED) { puts("2. Wait Failed."); } } return res; }
相关文章推荐
- 主线程使用WaitForSingleObject和MsgWaitForMultipleObjects等待线程返回值
- WaitForMultipleobjects 最大等待对象限制
- 探讨WaitForMultipleObjects如何突破64个句柄的限制
- 等待线程退出 MsgWaitForMultipleObjects和WaitForSingleObject
- 在主线程中慎用WaitForSingleObject (WaitForMultipleObjects) --代替方法:MsgWaitForMultipleObjects
- WaitForSingleObject WaitForMultipleObjects
- WaitForSingleObject 等待线程句柄
- 在主线程中慎用WaitForSingleObject (WaitForMultipleObjects)
- WaitForSingleObject等待的时间精度测试
- WaitForSingleObject和WaitForMultipleObjects使用详解
- 在主线程中慎用WaitForSingleObject (WaitForMultipleObjects)
- 在主线程中慎用WaitForSingleObject (WaitForMultipleObjects)
- 在主线程中慎用WaitForSingleObject (WaitForMultipleObjects)
- WaitForSingleObject&WaitForMultipleObjects
- 对话框中WaitForSingleObject等待线程退出导致程序阻塞的原因及解决
- 如何调用一个程序,等待运行结束,并知晓程序运行成功与否:ShellExecuteEx;WaitForSingleObject;GetExitCodeProcess(C代码)
- 在主线程中慎用WaitForSingleObject (WaitForMultipleObjects) --代替方法:MsgWaitForMultipleObjects
- WaitForSingleObject WaitForMultipleObjects
- WaitForSingleObject和 WaitForMultipleObjects
- 转:WaitForSingleObject()函数、WaitForMultipleObject()函数