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

溫馨提示×

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
阜宁县| 巢湖市| 湖州市| 伊吾县| 新余市| 双桥区| 辽宁省| 抚远县| 赣榆县| 抚顺县| 绥德县| 讷河市| 宜兰市| 枣阳市| 泰州市| 郁南县| 崇礼县| 美姑县| 彭阳县| 阳高县| 万安县| 远安县| 镇平县| 怀安县| 丽水市| 瓦房店市| 武宁县| 连州市| 安化县| 宜昌市| 德江县| 西昌市| 丹江口市| 泰安市| 长兴县| 邢台县| 曲水县| 广宁县| 光泽县| 朝阳区| 呈贡县|