c++ 线程中CreateEvent SetEvent/ResetEvent WaitForSingleObject的使用
HANDLE CreateEvent(
LPSECURITY_ATTRIBUTES lpEventAttributes, // 安全属性
BOOL bManualReset, // 复位方式,如果是TRUE,那么必须用ResetEvent函数来手工将事件的状态复原到无信号状态。如果设置为FALSE,当事件被一个等待线程释放以后,系统将会自动将事件状态复原为无信号状态。
BOOL bInitialState, // 初始状态,如果为TRUE,初始状态为有信号状态;否则为无信号状态。
LPCTSTR lpName // 对象名称
);
DWORD WaitForSingleObject(
HANDLE hHandle,
DWORD dwMilliseconds
);
参数hHandle是一个事件的句柄,第二个参数dwMilliseconds是时间间隔。如果时间是有信号状态返回WAIT_OBJECT_0,如果时间超过dwMilliseconds值但时间事件还是无信号状态则返回WAIT_TIMEOUT。
但如果参数dwMilliseconds为INFINITE时 函数将直到相应时间事件变成有信号状态才返回,否则就一直等待下去;为0则立马返回。
一、一个线程等另一个线程执行完再执行
CreateEvent(NULL, TRUE, TRUE, NULL);//创建一个事件,必须用resetevent来复原;初时有信号。
if(WaitForSingleObject(m_pLaserThread->m_pEventMarkOver, INFINITE) == WAIT_OBJECT_0)//会一直等待知道resetevent
{
}
二、一个线程循环执行某一段程序直到另一个线程结束。
m_pEventMarkCurveOver = CreateEvent(NULL, true, false, NULL);//创建一个事件,必须用resetevent还原,初时没信号。
while( WaitForSingleObject(m_pCurveThread->m_pEventMarkCurveOver, 0) != WAIT_OBJECT_0)//立马返回,一直循环,知道setevent有信号。
{}
c++ 线程中CreateEvent SetEvent/ResetEvent WaitForSingleObject的使用相关推荐
- 转:线程中CreateEvent和SetEvent及WaitForSingleObject的用法
转自线程中CreateEvent和SetEvent及WaitForSingleObject的用法 首先介绍CreateEvent是创建windows事件的意思,作用主要用在判断线程退出,程锁定方面. ...
- 线程中CreateEvent和SetEvent及WaitForSingleObject的用法
原文:线程中CreateEvent和SetEvent及WaitForSingleObject的用法
- [转载]线程中CreateEvent和SetEvent及WaitForSingle
原文地址:线程中CreateEvent和SetEvent及WaitForSingleObject的用法作者:Sky丶Nie 首先介绍CreateEvent是创建windows事件的意思,作用主要用在判 ...
- 线程中CreateEvent和SetEvent和ReSetEvent及WaitForSingleObject的用法
概述 首先介绍CreateEvent是创建windows事件的意思,作用主要用在判断线程退出,程锁定方面. CreateEvent:创建或打开一个命名的或无名的事件对象. EVENT有两种状态:发信号 ...
- 线程中CreateEvent、SetEvent、WaitForSingleObject的用法
原文地址:https://www.cnblogs.com/MrYuan/p/5238749.html 首先介绍CreateEvent是创建windows事件的意思,作用主要用在判断线程退出,线程锁定方 ...
- CreateEvent/SetEvent/ResetEvent和WaitForSingleObject
1.CreateEvent 是创建windows事件的意思,作用主要用在判断线程退出,程锁定方面. 函功能描述:创建或打开一个命名的或无名的事件对象. HANDLE m_hExit; m_hExit= ...
- CreateEvent() SetEvent() ResetEvent() 进程互斥
首先介绍CreateEvent是创建windows事件的意思,作用主要用在判断线程退出,线程锁定方面. CreateEvent 函功能描述:创建或打开一个命名的或无名的事件对象. EVENT有两种状态 ...
- CreateEvent SetEvent ResetEvent
CreatEvent():创建一个事件对象 SetEvent():把指定事件对象的状态设置为发信号状态 ResetEvent():把指定事件对象的状态设置为不发信号状态 函数CreateEvent创 ...
- wince -- 线程中SetEvent及WaitForSingleObject用法
设置事件的状态为有标记,释放任意等待线程.如果事件是手工的,此事件将保持有标记直到调用ResetEvent.这种情况下将释放多个线程,如果事件是自动的,此事件将保持有标记,直到一个线程被释放,系统将设 ...
最新文章
- 软件项目经理需具备什么样的技术水平?
- go defer 语句会延迟函数的执行直到上层函数返回。
- MySQL extract()函数
- 基于JAVA+SpringBoot+Mybatis+MYSQL的家庭财务管理系统
- opencv实现多个图拼接成一个图
- 西瓜书+实战+吴恩达机器学习(二十)随机算法(拉斯维加斯方法、蒙特卡罗方法)
- hive修改默认创建表格式
- 创建高质量Python工程(1)-如何设计结构清晰的目录结构(转)
- 关于RabbitMQ Queue Argument的简介
- 编程基础(五)—— 虚拟内存
- php读取excel文件_PHP读取Excel类文件
- 免费下载的音乐的6个网站,非常实用!
- android组件搭配
- SQL实时库存数量结存
- React基础 ① -- 从零开始
- 微信小程序【小程序码传参,自定义埋点】
- 数据库基础及常用SQL语句
- 某电商App 返回数据加密解密分析(四)
- PLC应用关于自动化控制中离散PID模型的理论分析
- 【PPT 资源下载】甲骨文数据库大会精彩主题分享