C#任务延时与超时的处理方法

avatar
作者
猴君
阅读量:0

在C#中,可以使用Task.Delay方法来实现任务延时的功能,可以指定延时时间后执行相应的操作。另外,也可以使用CancellationToken来取消延时任务,以避免超时情况。

下面是一个简单的示例代码,演示了如何在C#中实现任务的延时和超时处理:

using System; using System.Threading; using System.Threading.Tasks;  class Program {     static async Task Main()     {         // 延时任务         await Task.Delay(2000); // 2秒延时          Console.WriteLine("延时任务完成!");          // 超时任务         var cts = new CancellationTokenSource();         var token = cts.Token;          var timeoutTask = Task.Delay(3000, token);          // 模拟任务超时         if (await Task.WhenAny(timeoutTask) == timeoutTask)         {             Console.WriteLine("任务超时!");         }         else         {             // 执行正常操作             Console.WriteLine("任务完成!");         }     } } 

在上面的示例中,我们首先使用Task.Delay方法实现了一个2秒的延时任务。然后使用CancellationTokenTask.Delay方法来实现了一个3秒的超时任务。当任务超时时,会输出"任务超时!“;当任务在规定时间内完成时,会输出"任务完成!”。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!