c#中autoresetevent怎么调用

avatar
作者
猴君
阅读量:0

AutoResetEvent类是一个同步事件类,用于在多线程中进行线程同步。在C#中,可以通过AutoResetEvent的实例来调用其方法和属性。

以下是使用AutoResetEvent类的基本示例:

using System; using System.Threading;  class Program {     static AutoResetEvent autoResetEvent = new AutoResetEvent(false);      static void Main()     {         Thread t1 = new Thread(Worker);         t1.Start();          // 等待子线程执行完成         autoResetEvent.WaitOne();          Console.WriteLine("Main thread is done.");     }      static void Worker()     {         Console.WriteLine("Worker thread is starting...");         Thread.Sleep(2000); // 模拟耗时操作          Console.WriteLine("Worker thread is done.");          // 通知主线程完成         autoResetEvent.Set();     } } 

在上面的示例中,首先创建了一个AutoResetEvent实例autoResetEvent,并初始化为false。然后创建一个子线程t1并调用Worker方法,在Worker方法中模拟了一个耗时操作,并在完成后通过调用autoResetEvent的Set()方法通知主线程完成。主线程在调用WaitOne()方法时会被阻塞,直到autoResetEvent被设置为true。

通过这种方式,可以实现线程之间的同步和通信。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!