zoukankan      html  css  js  c++  java
  • C# EventWaitHandle用法

    waithander就是用来阻塞当前线程的,然后通过set()方法放开



    namespace waithandler
    {
        class Program
        {
            //static EventWaitHandle wait = new EventWaitHandle(true, EventResetMode.AutoReset);  //自动  中止状态
    
            static EventWaitHandle waitM = new EventWaitHandle(false, EventResetMode.ManualReset);//手动   非终止状态
            static void Main(string[] args)
            {
                Console.WriteLine("1当前时间" + DateTime.Now);
                Thread thread = new Thread(S);
                thread.Start();
    
                Thread.Sleep(3000);
                //wait.Set();//将状态设置为终止状态。
                waitM.Set();   //将状态设置为终止状态。
                Console.Read();
            }
            public static void S()
            {
                waitM.WaitOne(3000);   //非终止状态,无限制阻塞线程,不自动改变事件的终止状态
                                       //wait.WaitOne();  //自动返回为终止状态,不阻塞线程,为同一时间
                Console.WriteLine("2当前时间" + DateTime.Now);
    
                waitM.WaitOne(3000);  //前面的set()将事件手动终止状态,不进行阻塞
                                      //  wait.WaitOne(3000);  //此时为非终止状态,停顿三秒
                Console.WriteLine("3当前时间" + DateTime.Now);
    
            }
        }
    }
    
    未完待续。。。。。
  • 相关阅读:
    第11组(73) 需求分析报告
    第11组(73)团队展示
    结对编程作业
    第02组 Alpha冲刺 总结
    第02组 Alpha冲刺 (6/6)
    第02组 Alpha冲刺 (5/6)
    第02组 Alpha冲刺 (4/6)
    第02组 Alpha冲刺 (3/6)
    第02组 Alpha冲刺 (2/6)
    第02组 Alpha冲刺 (1/6)
  • 原文地址:https://www.cnblogs.com/kevinWu7/p/10163487.html
Copyright © 2011-2022 走看看