zoukankan      html  css  js  c++  java
  • AutoResetEvent 允许线程通过发信号互相通信之同步信号的使用

    AutoResetEvent 信号的使用

    原文<https://www.cnblogs.com/zhangweizhong/p/6628442.html>
    
    ***主要记录几个信号的作用***
     -  new AutoResetEvent(false)      无信号,子线程的WaitOne方法不会被自动调用
     -  Set ():将事件状态设置为终止状态,允许一个或多个等待线程继续;如果该操作成功,则返回true;否则,返回false。
     -  WaitOne():     阻止当前线程,直到收到信号。 .Set()方法给信号。 
     -  WaitAll():      等待全部信号。        .Set()方法给信号
    

    解析

    1. AutoResetEvent(false) 没有信号状态,需要等待信号。 需要调用 .Set()方法
    2. AutoResetEvent(true) 有信号状态
    3. WaitOne() 方法 : 当前线程调用该方法后,线程处于等待状态,等待 .Set()给信号,线程继续往下执行
    4. WaitAll() 方法 : 等待全部信号,线程继续执行,没收到信号,就会阻塞当前线程,进入等待状态。
  • 相关阅读:
    Struts2
    HIbernate缓存
    spring的静态代理和动态代理
    JVM与垃圾回收机制(GC)和类的生命周期
    java开发设计六大基本原则
    数据表链表结构
    HashMap的底层实现
    string与位运算
    log4j和logback
    C#深入类的方法
  • 原文地址:https://www.cnblogs.com/lunzhenlun/p/14632478.html
Copyright © 2011-2022 走看看