91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

c# autoresetevent怎樣通知

c#
小樊
81
2024-11-18 11:05:03
欄目: 編程語言

C#中的AutoResetEvent是一種同步原語,用于在多個線程之間進行通信。它允許一個或多個線程等待,直到另一個線程觸發事件。當事件被觸發時,所有等待的線程將被釋放。AutoResetEvent有兩個主要方法:Set()用于觸發事件,WaitOne()用于等待事件被觸發。

以下是一個簡單的示例,說明如何使用AutoResetEvent通知線程:

using System;
using System.Threading;

class Program
{
    static AutoResetEvent _autoResetEvent = new AutoResetEvent(false); // 初始狀態為未觸發

    static void Main(string[] args)
    {
        Thread t1 = new Thread(ThreadMethod1);
        Thread t2 = new Thread(ThreadMethod2);

        t1.Start();
        t2.Start();

        t1.Join();
        t2.Join();
    }

    static void ThreadMethod1()
    {
        Console.WriteLine("Thread 1 is waiting for the event to be set.");
        _autoResetEvent.WaitOne(); // 等待事件被觸發
        Console.WriteLine("Thread 1: The event has been set.");
    }

    static void ThreadMethod2()
    {
        Thread.Sleep(1000); // 讓線程2延遲1秒,以便線程1先運行
        Console.WriteLine("Thread 2 is setting the event.");
        _autoResetEvent.Set(); // 觸發事件
        Console.WriteLine("Thread 2: The event has been set.");
    }
}

在這個示例中,我們創建了兩個線程t1t2。線程t1等待AutoResetEvent被觸發,而線程t2在延遲1秒后觸發事件。當事件被觸發時,所有等待的線程將被釋放并繼續執行。

0
唐海县| 广河县| 漯河市| 溆浦县| 蛟河市| 本溪市| 乃东县| 分宜县| 三门县| 巴里| 蒙阴县| 内黄县| 长宁区| 马龙县| 金寨县| 巨鹿县| 依兰县| 马山县| 延川县| 平顺县| 鞍山市| 奉新县| 商丘市| 田东县| 廉江市| 沂水县| 无锡市| 南京市| 铜鼓县| 白城市| 莒南县| 夏河县| 磐安县| 林周县| 舒城县| 宜良县| 尤溪县| 广安市| 枞阳县| 台江县| 西藏|