中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

c# wait 能設置超時時間嗎

c#
小樊
81
2024-11-26 11:38:19
欄目: 編程語言

在C#中,Wait方法本身不能直接設置超時時間。但是,你可以使用Task類和Task.WhenAny方法來實現帶有超時時間的等待。下面是一個示例:

using System;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        // 創建兩個任務,一個模擬長時間運行的任務,另一個模擬短時間運行的任務
        var longRunningTask = Task.Run(() =>
        {
            Console.WriteLine("Long running task started.");
            Thread.Sleep(5000); // 模擬長時間運行的任務
            Console.WriteLine("Long running task completed.");
        });

        var shortRunningTask = Task.Run(() =>
        {
            Console.WriteLine("Short running task started.");
            Thread.Sleep(1000); // 模擬短時間運行的任務
            Console.WriteLine("Short running task completed.");
        });

        // 使用 Task.WhenAny 等待兩個任務中的任意一個完成,并設置超時時間
        var completedTask = await Task.WhenAny(longRunningTask, shortRunningTask, TimeSpan.FromSeconds(3));

        // 檢查完成的任務是否是長時間運行的任務
        if (completedTask == longRunningTask)
        {
            Console.WriteLine("Long running task completed first.");
        }
        else
        {
            Console.WriteLine("Short running task completed first.");
        }
    }
}

在這個示例中,我們創建了兩個任務,一個模擬長時間運行的任務,另一個模擬短時間運行的任務。然后,我們使用Task.WhenAny方法等待這兩個任務中的任意一個完成,并設置超時時間為3秒。如果長時間運行的任務在3秒內完成,completedTask將指向該任務;否則,completedTask將指向短時間運行的任務。

0
隆回县| 油尖旺区| 黔东| 稷山县| 双鸭山市| 双城市| 东宁县| 汪清县| 定远县| 富川| 稻城县| 陇川县| 肥东县| 克拉玛依市| 东源县| 淮南市| 海淀区| 岑巩县| 永济市| 绥宁县| 荥经县| 安国市| 孙吴县| 凉城县| 大安市| 永平县| 华宁县| 府谷县| 和政县| 白水县| 定结县| 临湘市| 杨浦区| 读书| 大厂| 中宁县| 南和县| 潼关县| 会东县| 文水县| 合水县|