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

溫馨提示×

C# ManualResetEvent等待時間怎樣設置

c#
小樊
85
2024-10-12 09:21:01
欄目: 編程語言

在C#中,ManualResetEvent 類用于同步多個線程,允許一個或多個線程等待,直到其他線程調用 Set 方法來重置事件。要設置 ManualResetEvent 的等待時間,你可以使用 WaitOneWaitManyWaitAny 方法,并傳入一個表示超時時間的 TimeSpan 參數。

以下是一個簡單的示例,展示了如何使用 ManualResetEvent 設置等待時間:

using System;
using System.Threading;

class Program
{
    static ManualResetEvent _event = new ManualResetEvent(false); // 初始化為非信號狀態

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

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

        // 讓線程1在等待5秒后繼續執行
        _event.WaitOne(5000);
        Console.WriteLine("Thread 1 continues.");

        // 讓所有等待的線程繼續執行
        _event.Set();

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

    static void DoWork()
    {
        Console.WriteLine("Thread waiting for event.");
        _event.WaitOne(); // 等待事件被設置
        Console.WriteLine("Event set, thread continues.");
    }
}

在這個示例中,我們創建了兩個線程 thread1thread2,它們都調用 DoWork 方法。在 DoWork 方法中,線程調用 ManualResetEventWaitOne 方法并傳入一個5秒的超時時間。這意味著線程將等待最多5秒,然后繼續執行。在主線程中,我們在5秒后調用 Set 方法來設置事件,允許所有等待的線程繼續執行。

0
进贤县| 旺苍县| 湾仔区| 班玛县| 克拉玛依市| 博白县| 石首市| 昆山市| 新营市| 汤阴县| 东宁县| 鲁甸县| 汝南县| 房山区| 册亨县| 西城区| 商河县| 祥云县| 秦皇岛市| 时尚| 陆河县| 玉树县| 通渭县| 灌南县| 三明市| 丰都县| 囊谦县| 昭通市| 久治县| 平昌县| 江安县| 应城市| 弋阳县| 吴江市| 高雄县| 大化| 上栗县| 博客| 漳州市| 浪卡子县| 定陶县|