Task 類別

定義

表示異步操作。

public ref class Task : IAsyncResult
public ref class Task : IAsyncResult, IDisposable
public class Task : IAsyncResult
public class Task : IAsyncResult, IDisposable
type Task = class
    interface IAsyncResult
type Task = class
    interface IAsyncResult
    interface IDisposable
Public Class Task
Implements IAsyncResult
Public Class Task
Implements IAsyncResult, IDisposable
繼承
Task
衍生
實作

備註

欲了解更多關於此 API 的資訊,請參閱 任務補充 API 備註

建構函式

名稱 Description
Task(Action, CancellationToken, TaskCreationOptions)

初始化一個新的, Task 並使用指定的動作與創建選項。

Task(Action, CancellationToken)

初始Task化一個新的,並執行指定的動作。CancellationToken

Task(Action, TaskCreationOptions)

初始化一個新的, Task 並使用指定的動作與創建選項。

Task(Action)

初始化一個新的 Task ,並以指定的動作。

Task(Action<Object>, Object, CancellationToken, TaskCreationOptions)

初始化一個包含指定動作、狀態和選項的新物件 Task

Task(Action<Object>, Object, CancellationToken)

初始化 Task 一個新的動作,包含指定的動作、狀態和 CancellationToken

Task(Action<Object>, Object, TaskCreationOptions)

初始化一個包含指定動作、狀態和選項的新物件 Task

Task(Action<Object>, Object)

初始化一個以指定動作與狀態的新裝置 Task

屬性

名稱 Description
AsyncState

取得建立時 Task 提供的狀態物件,若沒有提供則為 null。

CompletedTask

拿到一個已經成功完成的任務。

CreationOptions

TaskCreationOptions 來完成這個任務。

CurrentId

回傳目前執行中的 Task的 ID 。

Exception

這也說明 AggregateException 了導致他們 Task 提前結束的原因。 若 Task 成功完成或尚未拋出任何例外,則會返回 null

Factory

提供建立與設定 Task 的工廠方法及 Task<TResult> 實例存取。

Id

這次會拿到ID Task

IsCanceled

會判斷這個 Task 實例是否因為被取消而完成執行。

IsCompleted

取得值,這個值表示工作是否已完成。

IsCompletedSuccessfully

取得工作是否執行完成。

IsFaulted

判斷是否 Task 因未處理的例外而完成。

Status

明白 TaskStatus 這個任務。

方法

名稱 Description
ConfigureAwait(Boolean)

配置一個等待者,過去會等待這個 Task

ContinueWith(Action<Task,Object>, Object, CancellationToken, TaskContinuationOptions, TaskScheduler)

建立一個延續,接收呼叫者提供的狀態資訊及取消標記,並在目標 Task 完成時執行。 接續會根據一組指定的條件執行,並使用指定的排程器。

ContinueWith(Action<Task,Object>, Object, CancellationToken)

建立一個延續,接收呼叫者提供的狀態資訊及取消標記,並在目標 Task 完成時非同步執行。

ContinueWith(Action<Task,Object>, Object, TaskContinuationOptions)

建立一個延續,接收呼叫者提供的狀態資訊,並在目標 Task 完成時執行。 接續會根據一組指定的條件執行。

ContinueWith(Action<Task,Object>, Object, TaskScheduler)

建立一個續接,接收呼叫者提供的狀態資訊,並在目標 Task 完成時非同步執行。 接續會使用指定的排程器。

ContinueWith(Action<Task,Object>, Object)

建立一個延續,接收呼叫者提供的狀態資訊,並在目標 Task 完成時執行。

ContinueWith(Action<Task>, CancellationToken, TaskContinuationOptions, TaskScheduler)

建立一個延續,當目標任務依指定 TaskContinuationOptions條件競爭時執行。 接續會接收取消令牌,並使用指定的排程器。

ContinueWith(Action<Task>, CancellationToken)

建立一個延續,當目標 Task 完成時接收取消標記並非同步執行。

ContinueWith(Action<Task>, TaskContinuationOptions)

建立一個延續,當目標任務完成時,依照指定 TaskContinuationOptions條件執行。

ContinueWith(Action<Task>, TaskScheduler)

建立一個續接,當目標 Task 完成時會非同步執行。 接續會使用指定的排程器。

ContinueWith(Action<Task>)

建立一個續接,當目標 Task 完成時會非同步執行。

ContinueWith<TResult>(Func<Task,Object,TResult>, Object, CancellationToken, TaskContinuationOptions, TaskScheduler)

建立一個延續,當目標 Task 完成並回傳值時,根據指定的任務延續選項執行。 接續會接收呼叫端提供的狀態資訊和取消令牌,並使用指定的排程器。

ContinueWith<TResult>(Func<Task,Object,TResult>, Object, CancellationToken)

建立一個延續,當目標 Task 完成並回傳一個值時,會非同步執行。 接續會接收呼叫端提供的狀態資訊和取消令牌。

ContinueWith<TResult>(Func<Task,Object,TResult>, Object, TaskContinuationOptions)

建立一個延續,當目標 Task 完成時,根據指定的任務繼續選項執行。 接續會接收呼叫端提供的狀態資訊。

ContinueWith<TResult>(Func<Task,Object,TResult>, Object, TaskScheduler)

建立一個續接,當目標 Task 完成時會非同步執行。 接續會接收呼叫端提供的狀態資訊,並使用指定的排程器。

ContinueWith<TResult>(Func<Task,Object,TResult>, Object)

建立一個延續,接收呼叫者提供的狀態資訊,當目標 Task 完成並回傳值時,會非同步執行。

ContinueWith<TResult>(Func<Task,TResult>, CancellationToken, TaskContinuationOptions, TaskScheduler)

建立根據指定接續選項執行的接續,並傳回值。 接續會傳遞取消令牌,並使用指定的排程器。

ContinueWith<TResult>(Func<Task,TResult>, CancellationToken)

建立一個延續,當目標 Task 完成並回傳一個值時,會非同步執行。 接續會接收取消令牌。

ContinueWith<TResult>(Func<Task,TResult>, TaskContinuationOptions)

建立根據指定接續選項執行的接續,並傳回值。

ContinueWith<TResult>(Func<Task,TResult>, TaskScheduler)

建立一個延續,當目標 Task 完成並回傳一個值時,會非同步執行。 接續會使用指定的排程器。

ContinueWith<TResult>(Func<Task,TResult>)

建立一個延續,當目標 Task<TResult> 完成並回傳一個值時,會非同步執行。

Delay(Int32, CancellationToken)

建立可在指定毫秒數之後完成的可取消工作。

Delay(Int32)

建立在指定毫秒數之後完成的工作。

Delay(TimeSpan, CancellationToken)

建立可在指定時間間隔之後完成的可取消工作。

Delay(TimeSpan)

建立在指定時間間隔之後完成的工作。

Dispose()

釋放目前類別實例 Task 所使用的所有資源。

Dispose(Boolean)

處理掉 Task所有未管理的資源。

Equals(Object)

判斷指定的 物件是否等於目前的物件。

(繼承來源 Object)
FromCanceled(CancellationToken)

用指定的取消標記建立 Task 一個因取消而完成的任務。

FromCanceled<TResult>(CancellationToken)

用指定的取消標記建立 Task<TResult> 一個因取消而完成的任務。

FromException(Exception)

建立 Task 一個已完成且有指定例外的

FromException<TResult>(Exception)

建立 Task<TResult> 一個已完成且有指定例外的

FromResult<TResult>(TResult)

建立 Task<TResult> 一個成功完成且符合指定結果的 。

GetAwaiter()

有個等待者用來等待這個 Task

GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetType()

取得目前實例的 Type

(繼承來源 Object)
MemberwiseClone()

建立目前 Object的淺層複本。

(繼承來源 Object)
Run(Action, CancellationToken)

將指定的工作排隊執行到執行緒池,並回傳 Task 代表該工作的物件。 取消令牌可讓工作在尚未啟動時取消。

Run(Action)

將指定的工作排隊執行到執行緒池,並回傳 Task 代表該工作的物件。

Run(Func<Task>, CancellationToken)

排隊將指定的工作排隊執行至執行緒池,並回傳由 返回的任務 function代理。 取消令牌可讓工作在尚未啟動時取消。

Run(Func<Task>)

排隊將指定的工作排隊執行至執行緒池,並回傳由 返回的任務 function代理。

Run<TResult>(Func<Task<TResult>>, CancellationToken)

將指定的工作排隊在執行緒池中執行,並回傳由 返回Task(TResult)function代理。

Run<TResult>(Func<Task<TResult>>)

將指定的工作排隊在執行緒池中執行,並回傳由 返回Task(TResult)function代理。 取消令牌可讓工作在尚未啟動時取消。

Run<TResult>(Func<TResult>, CancellationToken)

將指定的工作排隊執行到執行緒池,並回傳 Task(TResult) 代表該工作的物件。

Run<TResult>(Func<TResult>)

將指定的工作排隊執行到執行緒池,並回傳 Task<TResult> 代表該工作的物件。 取消令牌可讓工作在尚未啟動時取消。

RunSynchronously()

以電流Task同步運行。TaskScheduler

RunSynchronously(TaskScheduler)

在提供的系統上同步運行TaskTaskScheduler

Start()

啟動 , Task排程執行至目前 TaskScheduler

Start(TaskScheduler)

啟動 , Task排程執行至 指定 TaskScheduler

ToString()

傳回表示目前 物件的字串。

(繼承來源 Object)
Wait()

等待 Task 執行完成。

Wait(CancellationToken)

等待 Task 執行完成。 若任務完成前取消標記被取消,等待即終止。

Wait(Int32, CancellationToken)

等待 Task 執行完成。 若逾時間隔過或任務完成前取消標記被取消,等待即告終止。

Wait(Int32)

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

Wait(TimeSpan)

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

WaitAll(Task[], CancellationToken)

等待所有提供 Task 物件完成執行,除非取消等待。

WaitAll(Task[], Int32, CancellationToken)

等待所有提供 Task 物件在指定毫秒內完成執行,或直到等待被取消。

WaitAll(Task[], Int32)

等待所有提供 Task 物件在指定毫秒內完成執行。

WaitAll(Task[], TimeSpan)

等待所有可取消 Task 物件在指定時間內完成執行。

WaitAll(Task[])

等待所有提供的 Task 物件完成執行。

WaitAny(Task[], CancellationToken)

等待任一提供的 Task 物件完成執行,除非取消等待。

WaitAny(Task[], Int32, CancellationToken)

等待任一物件 Task 在指定毫秒內完成執行,或直到取消標記被取消。

WaitAny(Task[], Int32)

等待任一物件 Task 在指定毫秒內完成執行。

WaitAny(Task[], TimeSpan)

等待任一提供的 Task 物件在指定時間內完成執行。

WaitAny(Task[])

等待任一提供的 Task 物件完成執行。

WhenAll(IEnumerable<Task>)

建立一個任務,當可枚舉集合中的所有 Task 物件都完成後,任務才會完成。

WhenAll(Task[])

建立一個任務,當陣列中所有 Task 物件完成後,任務就會完成。

WhenAll<TResult>(IEnumerable<Task<TResult>>)

建立一個任務,當可枚舉集合中的所有 Task<TResult> 物件都完成後,任務才會完成。

WhenAll<TResult>(Task<TResult>[])

建立一個任務,當陣列中所有 Task<TResult> 物件完成後,任務就會完成。

WhenAny(IEnumerable<Task>)

建立一個任務,當任一提供的任務完成時,該任務就會完成。

WhenAny(Task[])

建立一個任務,當任一提供的任務完成時,該任務就會完成。

WhenAny<TResult>(IEnumerable<Task<TResult>>)

建立一個任務,當任一提供的任務完成時,該任務就會完成。

WhenAny<TResult>(Task<TResult>[])

建立一個任務,當任一提供的任務完成時,該任務就會完成。

Yield()

創造一個可等待的任務,當等待時非同步地回歸當前上下文。

明確介面實作

名稱 Description
IAsyncResult.AsyncWaitHandle

獲得 WaitHandle 一個可以用來等待任務完成的選項。

IAsyncResult.CompletedSynchronously

取得作業是否同步完成的指示。

擴充方法

名稱 Description
AsAsyncAction(Task)

傳回代表已啟動工作的 Windows 運行時間異步動作。

DispatcherOperationWait(Task, TimeSpan)

等待標的 DispatcherOperation 資產完成指定時間。

DispatcherOperationWait(Task)

無限期等待底層 DispatcherOperation 完成。

IsDispatcherOperationTask(Task)

回傳一個值,表示此值 Task 是否與 DispatcherOperation相關聯。

適用於

執行緒安全性

除了 Task之外,所有 的Dispose()成員都是執行緒安全的,且可同時從多個執行緒使用。

另請參閱