C++事件的建立和使用SetEvent,ResetEvent
来源:互联网 发布:查看mysql数据库编码 编辑:程序博客网 时间:2024/06/07 06:56
一、事件是很常用的多线程同步互斥机制
函数原型如下所示,一共四个参数:
HANDLE CreateEvent(
LPSECURITY_ATTRIBUTES lpEventAttributes, // SECURITY_ATTRIBUTES结构指针,可为NULL
BOOL bManualReset, // 手动/自动
// TRUE:表示手动,在WaitForSingleObject后必须手动调用ResetEvent清除信号
// FALSE:表示自动,在WaitForSingleObject后,系统自动清除事件信号
BOOL bInitialState, //初始状态,FALSE为无信号,TRUE为有信号
LPCTSTR lpName //事件的名称
);
二、下面是使用演示:
1、首先在要使用时间的类中声明这个事件的句柄,用来标识这个事件,如下所示:
2、声明好了句柄,就要调用CreateEvent()函数创建事件了,如下所示:
3、设置信号的初始状态,使用SetEvent()(激活状态)或者ResetEvent()(未激活状态),依据使用设置,这里是Set如下所示:
4、在函数中检测事件的状态,如下所示在循环中检测事件的状态,如果事件未被激活,循环将会被挂起在这里,不会往下执行,除非在别处调用了SetEvent()或者ResetEvent(),这里是事件被激活之后才会往下执行:
5、执行完成之后调用ResetEvent()将事件状态还原(如果创建事件的时候是手动设置的话)。
- C++事件的建立和使用SetEvent,ResetEvent
- C++事件的建立和使用SetEvent,ResetEvent
- C++事件的建立和使用SetEvent,ResetEvent
- c++中SetEvent和ResetEvent的使用
- CreateEvent、setevent、ResetEvent和WaitForSingleObject
- CreateEvent、SetEvent、ResetEvent和WaitForSingleObject
- CreateEvent/SetEvent/ResetEvent和WaitForSingleObject
- CreateEvent/SetEvent/ResetEvent和WaitForSingleObject
- c++ 线程中CreateEvent SetEvent/ResetEvent WaitForSingleObject的使用
- SetEvent/ResetEvent
- SetEvent/ResetEvent
- SetEvent/ResetEvent
- SetEvent,ResetEvent
- SetEvent/ResetEvent
- 线程中CreateEvent和SetEvent和ReSetEvent及WaitForSingleObject的用法
- 【CreateEvent与SetEvent/ResetEvent】
- [转] MFC: ResetEvent、CreateEvent、SetEvent
- CreateEvent() SetEvent() ResetEvent() 进程互斥
- 花季
- ScrollView 上拉加载更多 新思路 总结 (监听控件是否在屏幕内)
- Codeforces Round #382 (Div. 2) C - Tennis Championship
- 雨夜
- 关于android webview调用相册和相机
- C++事件的建立和使用SetEvent,ResetEvent
- 管代码到管人(一)
- POJ 2676Sudoku(Dfs+搜索剪枝)
- Xamarin.iOS NSHttpCookieStorage根据域名保存Cookies
- 阡陌花开
- 最小费用最大流详解
- makefile相关知识(编译选项)
- 产品经理和产品助理的三个区别
- VDM642开发板烧写flash程序步骤