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

溫馨提示×

如何在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
互助| 应城市| 黑水县| 伊金霍洛旗| 宣武区| 皮山县| 黔西县| 贵溪市| 石嘴山市| 海丰县| 朝阳区| 胶州市| 兰州市| 措美县| 深水埗区| 浦城县| 南雄市| 英超| 闵行区| 东阿县| 大渡口区| 秦安县| 顺义区| 岐山县| 札达县| 江津市| 湛江市| 井冈山市| 普定县| 肇庆市| 镇赉县| 大冶市| 阿荣旗| 天柱县| 漳州市| 棋牌| 仁化县| 龙胜| 兴国县| 巩留县| 青冈县|