事件对象就像一个开关:它只有两种状态(开和关).
开状态:我们称其为“有信号”
关状态:我们称其为“无信号”
可以在一个线程的执行函数中创建一个事件对象,然后观察它的状态,如果是“无信号”就让该线程睡眠,这样该线程占用的CPU时间就比较少。
HANDLE CreateEvent(
LPSECURITY_ATTRIBUTES lpEventAttributes,
BOOL bManualReset,
BOOL bInitialState,
BOOL lpName);

lpEventAttributes: 一般为NULL
bManualReset: true 则为人工复位,一旦Even被设置为有信号,则它一直会等到ResetEvent() API被调用是才会恢复为无信号
false Event被设置为有信号,则当有一个wait到它的Thread时,该Event就会自动复位,变成无信号。如果想在每次调用
WaitForSingleObject后让Windows为你自动把Event的状态恢复为“无信号”,则必须把该参数设置为FALSE,否者你必须每次调用ResetEvent函数来清除事件标志。
bInitialState 初始状态,true,有信号,false无信号   
    lpName 事件对象的名称。您在OpenEvent函数中可能使用。

Function:
OpenEvent()
CloseHandle()
SetEvent() / PulseEvent()
ResetEvent()
WaitForSingleObject() / WaitForMultipleObjects()

最新文章

  1. java设计模式之简单工厂模式
  2. 弹出iframe内嵌页面元素到父页面并全屏化
  3. CSS 部件
  4. RouteData
  5. Python学习推荐
  6. Yii2目录结构
  7. Redis性能测试工具benchmark简介
  8. 安装Ubuntu双系统系列——64位Ubuntu安装H3C的INode客户端
  9. CodeFirst-数据迁移-Migration
  10. 使用HTML5 WebDataBase设计离线数据库
  11. (1)QlikView概要
  12. 关于Thread类中三个interrupt方法的研究与学习(转)
  13. python多线程--theading模块
  14. centos永久修改主机名
  15. redis的主从复制(读写分离)/哨兵(主从切换)配置
  16. 你不知道的JavaScript--Item22 Date对象全解析
  17. Nginx篇--解读nginx配置
  18. 修改create-react-app支持多入口
  19. 实验七:Xen环境下cirrOS的安装配置
  20. MySQL中的latch(闩锁)详解——易产生的问题以及原因分析

热门文章

  1. 微信小程序插件开发
  2. Linux运维学习笔记-TCP三次握手和四次挥手
  3. android系列9.LinearLayout学习
  4. pandas.read_csv 参数 index_col=0
  5. [LeetCode&Python] Problem 682. Baseball Game
  6. hbase基于solr配置二级索引
  7. 使用blessed 开发丰富的cli 应用
  8. BMP、GIF、JPEG、PNG以及其它图片格式简单介绍
  9. python安装途中遇到的问题和解决方法
  10. C语言面试题4