多线程通信——等待函数
来源:互联网 发布:艾瑞数据 今日头条 编辑:程序博客网 时间:2024/05/29 08:16
当进程或者线程正在执行的时候,进程内核对象处于未通知的状态,当进程终止的时候,它就变成已通知状态。
线程可以使自己进入等待状态,直到一个对象变成已通知状态,可以通过等待函数还实现。
DWORD WaitForSingleObject( HANDLE hObject, DWORD dwMilliseconds);
第一个参数是要等待的内核对象
第二个参数是为了等该对象变为已通知状态需要等待多长时间。
DWORD WINAPI MonitorThread(LPVOID threadParameter){while(1){HANDLE hThread =CreateThread(NULL, 0, clientHandleThread, NULL, 0, NULL);WaitForSingleObject( hThread,INFINITE);CloseHandle(hThread);}}例如,上面的程序段表示,Monitor监视线程的执行情况,若是线程异常退出则立即重启新的线程来执行相应的操作。
DWORD WaitForSingleObject( HANDLE hObject, DWORD dwMilliseconds); 返回值
1. WAIT_OBJECT_0 等待的对象变为已通知状态
2. WAIT_TIMEOUT 等待超时
3. WAIT_FAILED 将一个无效的句柄传给WaitForSingleObject
另一个等待函数是:
DWORD WaitForMultipleObjects(DWORD dwCount, //要等待的内核数量,必须在1-64之间CONST HANDLE* phObjects, //等待的内核对象句柄数组BOOL fWaitAll, //Ture表示等待所有的内核对象变成已通知状态,False表示等待其中之一变为已通知状态就返回DWORD dwMilliseconds); //为了等该对象变为已通知状态需要等待多长时间。
返回值:
与WaitForSingleObject相似,但是当fWaitAll为False的时候,程序可能想知道是那个对象变为已通知状态,这时返回值为
WAIT_OBJECT_0 与WAIT_OBJECT_0 + dwCount - 1 之间的一个值
- 多线程通信——等待函数
- JavaSE 多线程 线程间通信— 等待唤醒机制
- 多线程通信——互锁函数
- java多线程——线程间通信之线程等待唤醒机制
- win32多线程等待消息函数
- 多线程-线程间通信和等待唤醒
- java语言多线程通信--等待唤醒机制
- java多线程通信之等待唤醒机制
- Java 多线程间的通信 等待唤醒
- 多线程——等待-唤醒机制
- 多线程编程(9) - 认识等待函数 WaitForSingleObject
- 多线程编程(9) - 认识等待函数 WaitForSingleObject
- 多线程 -- 等待函数、事件内核对象
- 多线程编程(9) - 认识等待函数 WaitForSingleObject
- 多线程学习篇(二)等待函数
- java线程间通信——等待唤醒机制
- 多线程之间的友好通信-等待唤醒机制
- Java多线程四:线程间通信/等待唤醒机制
- 指令流水线
- java 多线程 返回值 Callable
- 动态生成类、接口及其成员
- 有关xsl文件中书写html注意事项
- Qt C++ 适配器模式
- 多线程通信——等待函数
- 内核benos
- 一个简单的字符数组比较
- 通过扩展Django数据库API支持全文搜索
- eclipse里配置solr开发测试环境
- Java Thread 总结
- #pragma comment
- HDU2836(线段树和二分法+dp)
- Oil Car