Win32多线程之WaitForMultipleObjects
来源:互联网 发布:橙光游戏制作软件 编辑:程序博客网 时间:2024/04/29 22:45
Win32函数中的WaitForMultipleObjects()允许你在同一时间等待一个以上的对象。你必须将一个由handles组成的数组交给此函数,并指定要等待其中一个对象或是全部的对象,下面就是这个函数的原型:
nCount : 表示lpHandles数组的元素个数。最大容量是MAXIMUM_WAIT_OBJECTS。
lpHandles:指向一个由对象handles所组成的数组。这些handles不需要为相同的类型。
bWaitAll:如果此为TRUE。表示所有的handles都必须激发,此函数才得以返回,否则此函数将在任何一个handle激发时就返回。
dwMilliseconds:当该时间长度终了时,即使没有任何handles激发,此函数也会返回,此值可为0,以便测试,亦可指定为INFINITE,表示无穷等待。
返回值:
WaitForMultipleObjects()的返回值有些复杂。
1)如果因时间终了而返回,则返回值是WAIT_TIMEOUT,类似WaitForSingleObject()。
2)如果bWait是TRUE,那么返回值将是WAIT_OBJECT_0。
3)如果bWait是FALSE,那么将返回值减去WAIT_OBJECT_0,就表示数组中的哪一个handle被激发了。
4)如果你等待的对象中有任何mutexes,那么返回值可能从WAIT_ABANDONED_0到WAIT_ABANDONED_0+nCount - 1。
5)如果函数失败,它会传回WAIT_FAILED,这时候你可以使用GetLastError()找出失败的原因。
注意,handles数组中的元素个数有上限,绝对不能够超过MAXIMUM_WAIT_OBJECTS。
- Win32多线程之WaitForMultipleObjects
- 《Win32多线程程序设计》(2)---WaitForMultipleObjects()
- 学习笔记 -- Win32多线程程序设计(二) WaitForSingleObject and WaitForMultipleObjects
- Win32多线程之概述
- Win32多线程之分类
- Win32多线程之进程
- Win32多线程之CreateThread
- Win32多线程之GetExitCodeThread
- Win32多线程之ExitThread
- Win32多线程之volatile
- Win32多线程之原子操作
- Win32多线程之核心对象
- Win32多线程之主线程
- Win32多线程之错误处理
- Win32多线程之线程等待
- Win32多线程之性能监视器
- Win32多线程之同步控制
- Win32多线程之互斥器(Mutexes)
- 设备IO之一(mmap、直接IO以及异步IO)
- Ultra-QuickSort poj 2299 归并排序
- 使用Python Tkinter编写的简易发送邮件程序
- C# 16进制与字符串、字节数组之间的转换
- linux下无/proc/bus/usb目录
- Win32多线程之WaitForMultipleObjects
- Linux内存页面分配
- 精英宇卓来跟大家报道
- Software Engineering——总体把握之概论
- n个数中选m个数的全组合...
- 软件工程之文档标准
- 黑客的自我独白
- 各类排序算法及代码实现
- Mahout 的安装于配置