zoukankan      html  css  js  c++  java
  • AutoResetEvent和ManualResetEvent用法示例

    using System;
    using System.Threading;

    namespace ResetEvent{

    public class EntryPoint{
    static AutoResetEvent auto = new AutoResetEvent(false);
    static ManualResetEvent manual = new ManualResetEvent(false);
    static EventWaitHandle eventWait = new EventWaitHandle(false,EventResetMode.AutoReset);

    public static void Main(string[] args){
    eventWait = auto;
    ManualResetEventMethodRun();
    // AutoResetEventMethodRun();
    }
    #region AutoResetEventMethod

    static void AutoResetEventMethodRun(){
    Thread t = new Thread(AutoResetEventMethod);
    Console.WriteLine("AutoResetEvent Main Begin...");
    t.Start();
    Thread.Sleep(5000);
    auto.Set();
    // Thread.Sleep(5000);
    Console.WriteLine("AutoResetEvent Main End...");
    Console.Read();
    }
    static void AutoResetEventMethod(){
    Console.WriteLine("AutoResetEvent Sub Begining......");
    auto.WaitOne();
    // auto.Set();
    Console.WriteLine("AutoResetEvent to do something 1......");
    auto.WaitOne();
    Console.WriteLine("AutoResetEvent to do something 2......");
    Console.WriteLine("AutoResetEvent Sub Ending......");

    }

    #endregion

    #region ManualResetEventMethod

    static void ManualResetEventMethodRun(){
    Thread t = new Thread(ManualResetEventMethod);
    Console.WriteLine("ManualResetEventMethod Main Begin...");
    t.Start();
    Thread.Sleep(5000);
    manual.Set();
    // Thread.Sleep(5000);
    Console.WriteLine("ManualResetEventMethod Main End...");
    Console.Read();
    }

    static void ManualResetEventMethod()
    {
    Console.WriteLine("ManualResetEventMethod Sub Begining......");
    manual.WaitOne();
    Console.WriteLine("ManualResetEventMethod to do something 1......");
    manual.Reset();
    manual.WaitOne();
    Console.WriteLine("ManualResetEventMethod to do something 2......");
    Console.WriteLine("ManualResetEventMethod Sub Ending......");
    }
    #endregion
    }

    }

  • 相关阅读:
    inner join on, left join on, right join on讲解(转载)
    ref 与 out
    Shell基础01
    Python 基础01
    linux基础03
    Shell基础02
    linux基础02
    Linux基础01
    linux基础05
    linux基础04
  • 原文地址:https://www.cnblogs.com/zhangchenliang/p/2653268.html
Copyright © 2011-2022 走看看