亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

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
苏尼特左旗| 平邑县| 宁河县| 黄浦区| 漯河市| 钦州市| 河曲县| 玛曲县| 通山县| 定日县| 襄城县| 清徐县| 修文县| 遂昌县| 集安市| 乐昌市| 资兴市| 合肥市| 广汉市| 如皋市| 乌兰县| 婺源县| 循化| 晋州市| 广水市| 玉龙| 当涂县| 西畴县| 营山县| 青海省| 乌拉特前旗| 清镇市| 察雅县| 海晏县| 凉城县| 社旗县| 保山市| 普格县| 安图县| 神池县| 报价|