欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

C# 任務超時未完成直接返回結果

freeflydom
2023年5月20日 14:26 本文熱度 988

Task.Wait 方法

定義

  • 命名空間     :

  • System.Threading.Tasks

  • 程序集     :

  • System.Runtime.dll

等待 Task 完成執行過程。

重載

Wait(TimeSpan, CancellationToken)

等待 Task 完成執行過程。

Wait()

等待 Task 完成執行過程。

Wait(Int32)

等待 Task 在指定的毫秒數內完成執行。

Wait(CancellationToken)

等待 Task 完成執行過程。 如果在任務完成之前取消標記已取消,等待將終止。

Wait(TimeSpan)

等待 Task 在指定的時間間隔內完成執行。

Wait(Int32, CancellationToken)

等待 Task 完成執行過程。 如果在任務完成之前超時間隔結束或取消標記已取消,等待將終止。


Wait(Int32)

等待 Task 在指定的毫秒數內完成執行。

public bool Wait (int millisecondsTimeout);


參數

  • millisecondsTimeout Int32

等待的毫秒數,或為 Infinite (-1),表示無限期等待。

返回

如果在分配的時間內 true 完成執行,則為 Task;否則為 false

例外

millisecondsTimeout 是一個非 -1 的負數,而 -1 表示無限期超時。

已取消任務。 InnerExceptions 集合包含 TaskCanceledException 對象。

- 或 -

執行任務期間引發了一個異常。 InnerExceptions 集合包含一個或多個異常的相關信息。

示例

以下示例啟動一個任務,該任務生成 0 到 100 之間的 500 萬個隨機整數,并計算其平均值。 該示例使用 Wait(Int32) 方法等待應用程序在 150 毫秒內完成。 如果應用程序正常完成,則任務會顯示它生成的隨機數之和和平均值。 如果超時間隔已過,則本示例在終止前顯示一條消息

using System;

using System.Threading.Tasks;


public class Example

{

   public static void Main()

   {

      Task t = Task.Run( () => {

                            Random rnd = new Random();

                            long sum = 0;

                            int n = 5000000;

                            for (int ctr = 1; ctr <= n; ctr++) {

                               int number = rnd.Next(0, 101);

                               sum += number;

                            }

                            Console.WriteLine("Total:   {0:N0}", sum);

                            Console.WriteLine("Mean:    {0:N2}", sum/n);

                            Console.WriteLine("N:       {0:N0}", n);   

                         } );

     if (! t.Wait(150))

        Console.WriteLine("The timeout interval elapsed.");

   }

}

// The example displays output similar to the following:

//       Total:   50,015,714

//       Mean:    50.02

//       N:       1,000,000

// Or it displays the following output:

//      The timeout interval elapsed.

注解

Wait(Int32) 是一種同步方法,它會導致調用線程等待當前任務實例完成,直到發生以下任一情況:

  • 任務成功完成。

  • 任務本身被取消或引發異常。 在這種情況下,你將處理異常 AggregateException 。 屬性 AggregateException.InnerExceptions 包含有關異常的詳細信息。

  • 由 millisecondsTimeout 已用定義的間隔。 在這種情況下,當前線程繼續執行,方法返回 false


------------------------------------

https://learn.microsoft.com/zh-CN/dotnet/api/system.threading.tasks.task.wait?view=net-7.0


該文章在 2023/5/20 14:27:56 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved