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

溫馨提示×

c# autoresetevent如何設置

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

在C#中,AutoResetEvent是一個同步原語,用于在多個線程之間進行通信

using System;
using System.Threading;

class Program
{
    static AutoResetEvent autoResetEvent = new AutoResetEvent(false); // 初始狀態為false

    static void Main()
    {
        Thread thread1 = new Thread(Thread1Method);
        Thread thread2 = new Thread(Thread2Method);

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

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

    static void Thread1Method()
    {
        Console.WriteLine("Thread 1 is waiting for the AutoResetEvent.");
        autoResetEvent.WaitOne(); // 等待事件被設置為true
        Console.WriteLine("Thread 1 has been signaled.");
    }

    static void Thread2Method()
    {
        Thread.Sleep(1000); // 讓線程2睡眠1秒,以便在線程1之前執行
        Console.WriteLine("Thread 2 is signaling the AutoResetEvent.");
        autoResetEvent.Set(); // 將事件設置為true
    }
}

在這個示例中,我們創建了一個名為autoResetEventAutoResetEvent實例,并將其初始狀態設置為false。然后,我們創建了兩個線程thread1thread2,分別執行Thread1MethodThread2Method方法。

Thread1Method中,我們使用autoResetEvent.WaitOne()等待事件被設置為true。在Thread2Method中,我們首先讓線程睡眠1秒,然后使用autoResetEvent.Set()將事件設置為true。當事件被設置為true時,Thread1Method將繼續執行。

0
曲靖市| 玛沁县| 炉霍县| 永和县| 罗城| 潼关县| 托里县| 沛县| 横山县| 南木林县| 江达县| 彭阳县| 若羌县| 平昌县| 建水县| 墨江| 佛山市| 乌兰县| 汉沽区| 华阴市| 陇西县| 搜索| 嘉荫县| 盘山县| 洪湖市| 乐清市| 象山县| 高阳县| 阜平县| 黄大仙区| 温泉县| 左贡县| 福州市| 榆中县| 吉木萨尔县| 莎车县| 云阳县| 永春县| 南郑县| 顺平县| 屏山县|