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的使用相关推荐

  1. 转:线程中CreateEvent和SetEvent及WaitForSingleObject的用法

    转自线程中CreateEvent和SetEvent及WaitForSingleObject的用法 首先介绍CreateEvent是创建windows事件的意思,作用主要用在判断线程退出,程锁定方面. ...

  2. 线程中CreateEvent和SetEvent及WaitForSingleObject的用法

    原文:线程中CreateEvent和SetEvent及WaitForSingleObject的用法

  3. [转载]线程中CreateEvent和SetEvent及WaitForSingle

    原文地址:线程中CreateEvent和SetEvent及WaitForSingleObject的用法作者:Sky丶Nie 首先介绍CreateEvent是创建windows事件的意思,作用主要用在判 ...

  4. 线程中CreateEvent和SetEvent和ReSetEvent及WaitForSingleObject的用法

    概述 首先介绍CreateEvent是创建windows事件的意思,作用主要用在判断线程退出,程锁定方面. CreateEvent:创建或打开一个命名的或无名的事件对象. EVENT有两种状态:发信号 ...

  5. 线程中CreateEvent、SetEvent、WaitForSingleObject的用法

    原文地址:https://www.cnblogs.com/MrYuan/p/5238749.html 首先介绍CreateEvent是创建windows事件的意思,作用主要用在判断线程退出,线程锁定方 ...

  6. CreateEvent/SetEvent/ResetEvent和WaitForSingleObject

    1.CreateEvent 是创建windows事件的意思,作用主要用在判断线程退出,程锁定方面. 函功能描述:创建或打开一个命名的或无名的事件对象. HANDLE m_hExit; m_hExit= ...

  7. CreateEvent() SetEvent() ResetEvent() 进程互斥

    首先介绍CreateEvent是创建windows事件的意思,作用主要用在判断线程退出,线程锁定方面. CreateEvent 函功能描述:创建或打开一个命名的或无名的事件对象. EVENT有两种状态 ...

  8. CreateEvent SetEvent ResetEvent

    CreatEvent():创建一个事件对象  SetEvent():把指定事件对象的状态设置为发信号状态 ResetEvent():把指定事件对象的状态设置为不发信号状态 函数CreateEvent创 ...

  9. wince -- 线程中SetEvent及WaitForSingleObject用法

    设置事件的状态为有标记,释放任意等待线程.如果事件是手工的,此事件将保持有标记直到调用ResetEvent.这种情况下将释放多个线程,如果事件是自动的,此事件将保持有标记,直到一个线程被释放,系统将设 ...

最新文章

  1. 软件项目经理需具备什么样的技术水平?
  2. go defer 语句会延迟函数的执行直到上层函数返回。
  3. MySQL extract()函数
  4. 基于JAVA+SpringBoot+Mybatis+MYSQL的家庭财务管理系统
  5. opencv实现多个图拼接成一个图
  6. 西瓜书+实战+吴恩达机器学习(二十)随机算法(拉斯维加斯方法、蒙特卡罗方法)
  7. hive修改默认创建表格式
  8. 创建高质量Python工程(1)-如何设计结构清晰的目录结构(转)
  9. 关于RabbitMQ Queue Argument的简介
  10. 编程基础(五)—— 虚拟内存
  11. php读取excel文件_PHP读取Excel类文件
  12. 免费下载的音乐的6个网站,非常实用!
  13. android组件搭配
  14. SQL实时库存数量结存
  15. React基础 ① -- 从零开始
  16. 微信小程序【小程序码传参,自定义埋点】
  17. 数据库基础及常用SQL语句
  18. 某电商App 返回数据加密解密分析(四)
  19. PLC应用关于自动化控制中离散PID模型的理论分析
  20. 【PPT 资源下载】甲骨文数据库大会精彩主题分享

热门文章

  1. php mq死信队列,RabbitMQ死信队列+延时队列
  2. 数字门店运营管理 | 要成交,先活跃
  3. oracle数据库下载免费下载,oracle数据库下载地址
  4. 如何在自己的阿里服务器上挂载对象存储(OSS)方法及使用收费
  5. iTunes Connect在线创建 App
  6. 2022施工升降机司机(建筑特殊工种)操作证考试题库及在线模拟考试
  7. android编程语言如何实现一个简单的手机打电话应用程序
  8. 算法工程师7——机器学习概述(上篇-基本计算库)
  9. 如何将四大名著和地图相结合?
  10. 史上最全的 Hexo 博客搭建配置完全指南