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

溫馨提示×

如何在C#中使用ManualResetEvent

c#
小樊
84
2024-07-02 20:02:14
欄目: 編程語言

在C#中,可以使用ManualResetEvent類來實現線程間的同步和通信。下面是一個簡單的示例代碼,演示如何在C#中使用ManualResetEvent:

using System;
using System.Threading;

class Program
{
    static ManualResetEvent manualResetEvent = new ManualResetEvent(false);

    static void Main(string[] args)
    {
        Thread thread1 = new Thread(() =>
        {
            Console.WriteLine("Thread 1 is waiting...");
            manualResetEvent.WaitOne();

            Console.WriteLine("Thread 1 is now running.");
        });

        Thread thread2 = new Thread(() =>
        {
            Console.WriteLine("Thread 2 is waiting...");
            manualResetEvent.WaitOne();

            Console.WriteLine("Thread 2 is now running.");
        });

        thread1.Start();
        thread2.Start();

        Thread.Sleep(2000); // 等待2秒鐘

        manualResetEvent.Set(); // 發信號,讓等待的線程繼續執行

        thread1.Join();
        thread2.Join();
    }
}

在上面的示例代碼中,我們創建了一個ManualResetEvent實例并初始化為false。然后創建了兩個線程(thread1和thread2),它們都在等待ManualResetEvent對象的信號。在主線程中等待2秒鐘后,調用Set方法發送信號,讓等待的線程繼續執行。

需要注意的是,ManualResetEvent對象在調用Set方法后會一直保持信號狀態,直到調用Reset方法將其重新設置為非信號狀態。

0
宝兴县| 正蓝旗| 广丰县| 绩溪县| 陇西县| 丹巴县| 怀来县| 大连市| 永城市| 清原| 甘德县| 靖边县| 游戏| 弋阳县| 南汇区| 遂溪县| 台前县| 新邵县| 望城县| 蓝山县| 安泽县| 轮台县| 辰溪县| 木里| 益阳市| 盘山县| 类乌齐县| 仙居县| 平武县| 怀宁县| 易门县| 克东县| 怀仁县| 泾源县| 蓝田县| 科技| 玉田县| 仪征市| 灵石县| 临猗县| 杂多县|