zoukankan      html  css  js  c++  java
  • Windows Event 事件

    事件对象就像一个开关:它只有两种状态(开和关).
    开状态:我们称其为“有信号”
    关状态:我们称其为“无信号”
    可以在一个线程的执行函数中创建一个事件对象,然后观察它的状态,如果是“无信号”就让该线程睡眠,这样该线程占用的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()

    作者:长风 Email:844064492@qq.com QQ群:607717453 Git:https://github.com/zhaohu19910409Dz 开源项目:https://github.com/OriginMEK/MEK 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利. 感谢您的阅读。如果觉得有用的就请各位大神高抬贵手“推荐一下”吧!你的精神支持是博主强大的写作动力。 如果觉得我的博客有意思,欢迎点击首页左上角的“+加关注”按钮关注我!
  • 相关阅读:
    Java NIO系列教程(六) 多路复用器Selector
    Java NIO系列教程(五)Buffer
    Java NIO系列教程(四) Scatter/Gather
    ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [1], [1498], [18713], [18720]
    统计单词出现的最多次数(Trie树)
    毁灭梦想的5个方法
    windows内核Api的学习
    android创建目录和文件和安装其它apk
    Java 遍历指定文件夹及子文件夹下的文件
    sqlplus的非交互式使用
  • 原文地址:https://www.cnblogs.com/zhaohu/p/7658329.html
Copyright © 2011-2022 走看看