Task 類和 Task<TResult> 類提供多種方法,這些方法能夠幫助你組合多個任務以實現常見模式,你可以等待多個 Task 和 Task<TResult> 對象在一個方法調用中完成。
Task.WhenAny
Task.WhenAny 方法異步等待多個 Task 或 Task<TResult> 對象中的一個完成, WhenAny 方法在下列情境中尤其有用。\冗餘運算。 請考慮可以用多種方式執行的算法或運算。 你可使用 WhenAny 方法來選擇先完成的運算,然後取消剩餘的運算。
-
交叉運算。 你可啓動必須全部完成的多項運算,並使用 WhenAny 方法在每項運算完成時處理結果。 在一項運算完成後,可以啓動一個或多個其他任務。
-
受限制的運算。 你可使用 WhenAny 方法通過限制併發運算的數量來擴展前面的情境。
-
過期的運算。 你可使用 WhenAny 方法在一個或多個任務與特定時間後完成的任務(例如 Delay 方法返回的任務)間進行選擇
-
1.Task.Delay 方法將生成在指定時間後完成的 Task 對象。 你可使用此方法來生成偶爾輪詢數據的循環,引入超時,將對用戶輸入的處理延遲預定的一段時間等。