关于WaitForMultipleObjects的使用

WaitForMultipleObjects

WaitForMultipleObjects是Windows中的一个功能非常强大的函数,几乎可以等待Windows中的所有的内核对象

DWORD WaitForMultipleObjects(

DWORD nCount, // number of handles in the handle array

CONST HANDLE *lpHandles, // pointer to the object-handle array

BOOL fWaitAll, // wait flag,是否等待所有线程都完成

DWORD dwMilliseconds // time-out interval in milliseconds

);

nCount 指定列表中的句柄数量 最大值为MAXIMUM_WAIT_OBJECTS(64)

*lpHandles 句柄数组的指针。lpHandles为指定对象句柄组合中的第一个元素 HANDLE类型可以为(Event,Mutex,Process,Thread,Semaphore)数组

bWaitAll 等待的类型,如果为TRUE,表示除非对象都发出信号,否则就一直等待下去;如果FALSE,表示任何对象发出信号即可

dwMilliseconds指定要等候的毫秒数。如设为零,表示立即返回。如指定常数INFINITE,则可根据实际情况无限等待下去 

WaitForMultipleObjects(THREAD_NUM, hdl, TRUE, INFINITE);

 代码中的含义为,等待四个线程都完成六轮打印。

猜你喜欢

转载自blog.csdn.net/haimianjie2012/article/details/111319918