共用方式為


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 備註。

建構函式

Task(Action)

使用指定的動作,初始化新的 Task

Task(Action, CancellationToken)

使用指定的動作和 CancellationToken,初始化新的 Task

Task(Action, CancellationToken, TaskCreationOptions)

使用指定的動作和建立選項,初始化新的 Task

Task(Action, TaskCreationOptions)

使用指定的動作和建立選項,初始化新的 Task

Task(Action<Object>, Object)

使用指定的動作和狀態,初始化新的 Task

Task(Action<Object>, Object, CancellationToken)

使用指定的動作、狀態和 CancellationToken,初始化新的 Task

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

使用指定的動作、狀態和選項,初始化新的 Task

Task(Action<Object>, Object, TaskCreationOptions)

使用指定的動作、狀態和選項,初始化新的 Task

屬性

AsyncState

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

CompletedTask

取得已順利完成的工作。

CreationOptions

取得用來建立這項工作的 TaskCreationOptions

CurrentId

傳回目前執行中之 Task的標識碼。

Exception

取得導致 Task 過早結束的 AggregateException。 如果 Task 順利完成或尚未擲回任何例外狀況,這會傳回 null

Factory

提供建立和設定 TaskTask<TResult> 實例之處理站方法的存取權。

Id

取得這個 Task 實例的標識碼。

IsCanceled

取得這個 Task 實例是否因為取消而完成執行。

IsCompleted

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

IsCompletedSuccessfully

取得工作是否執行完成。

IsFaulted

取得 Task 是否因為未處理的例外狀況而完成。

Status

取得此工作的 TaskStatus

方法

ConfigureAwait(Boolean)

設定用來等候此 Task的 awaiter。

ConfigureAwait(ConfigureAwaitOptions)

設定用來等候此 Task的 awaiter。

ContinueWith(Action<Task,Object>, Object)

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

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

建立接續,接收呼叫端提供的狀態資訊和取消令牌,並在目標 Task 完成時以異步方式執行。

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

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

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

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

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

建立接續,以接收呼叫端提供的狀態資訊,並在目標 Task 完成時以異步方式執行。 接續會使用指定的排程器。

ContinueWith(Action<Task>)

建立當目標 Task 完成時,以異步方式執行的接續。

ContinueWith(Action<Task>, CancellationToken)

建立接續,以接收取消令牌,並在目標 Task 完成時以異步方式執行。

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

建立當目標工作根據指定的 TaskContinuationOptions競爭時執行的接續。 接續會接收取消令牌,並使用指定的排程器。

ContinueWith(Action<Task>, TaskContinuationOptions)

根據指定的 TaskContinuationOptions,建立目標工作完成時執行的接續。

ContinueWith(Action<Task>, TaskScheduler)

建立當目標 Task 完成時,以異步方式執行的接續。 接續會使用指定的排程器。

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

建立接續,以接收呼叫端提供的狀態資訊,並在目標 Task 完成並傳回值時,以異步方式執行。

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

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

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

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

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

建立接續,此接續會在目標 Task 完成時,根據指定的工作接續選項執行。 接續會接收呼叫端提供的狀態資訊。

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

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

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

建立當目標 Task<TResult> 完成並傳回值時,以異步方式執行的接續。

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

建立當目標 Task 完成並傳回值時,以異步方式執行的接續。 接續會接收取消令牌。

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

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

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

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

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

建立當目標 Task 完成並傳回值時,以異步方式執行的接續。 接續會使用指定的排程器。

Delay(Int32)

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

Delay(Int32, CancellationToken)

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

Delay(TimeSpan)

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

Delay(TimeSpan, CancellationToken)

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

Delay(TimeSpan, TimeProvider)

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

Delay(TimeSpan, TimeProvider, CancellationToken)

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

Dispose()

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

Dispose(Boolean)

處置 Task,釋放其所有 Unmanaged 資源。

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的 awaiter。

GetHashCode()

做為預設哈希函式。

(繼承來源 Object)
GetType()

取得目前實例的 Type

(繼承來源 Object)
MemberwiseClone()

建立目前 Object的淺層複本。

(繼承來源 Object)
Run(Action)

將指定的工作排入佇列,以在線程集區上執行,並傳回代表該工作的 Task 物件。

Run(Action, CancellationToken)

將指定的工作排入佇列,以在線程集區上執行,並傳回代表該工作的 Task 物件。 取消令牌可讓工作在尚未啟動時取消。

Run(Func<Task>)

將指定的工作排入佇列,以在線程集區上執行,並針對 function所傳回的工作傳回 Proxy。

Run(Func<Task>, CancellationToken)

將指定的工作排入佇列,以在線程集區上執行,並針對 function所傳回的工作傳回 Proxy。 取消令牌可讓工作在尚未啟動時取消。

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

將指定的工作排入佇列,以在線程集區上執行,並傳回 function所傳回之 Task(TResult) 的 Proxy。 取消令牌可讓工作在尚未啟動時取消。

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

將指定的工作排入佇列,以在線程集區上執行,並傳回 function所傳回之 Task(TResult) 的 Proxy。

Run<TResult>(Func<TResult>)

將指定的工作排入佇列,以在線程集區上執行,並傳回代表該工作的 Task<TResult> 物件。 取消令牌可讓工作在尚未啟動時取消。

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

將指定的工作排入佇列,以在線程集區上執行,並傳回代表該工作的 Task(TResult) 物件。

RunSynchronously()

在目前的 TaskScheduler上同步執行 Task

RunSynchronously(TaskScheduler)

在提供的 TaskScheduler 上同步執行 Task

Start()

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

Start(TaskScheduler)

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

ToString()

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

(繼承來源 Object)
Wait()

等候 Task 完成執行。

Wait(CancellationToken)

等候 Task 完成執行。 如果取消令牌在工作完成之前取消,等候就會終止。

Wait(Int32)

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

Wait(Int32, CancellationToken)

等候 Task 完成執行。 如果在工作完成之前取消逾時間隔或取消令牌,則等候會終止。

Wait(TimeSpan)

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

Wait(TimeSpan, CancellationToken)

等候 Task 完成執行。

WaitAll(IEnumerable<Task>, CancellationToken)

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

WaitAll(ReadOnlySpan<Task>)

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

WaitAll(Task[])

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

WaitAll(Task[], CancellationToken)

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

WaitAll(Task[], Int32)

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

WaitAll(Task[], Int32, CancellationToken)

等候所有提供 Task 物件在指定的毫秒數內完成執行,或等到等候取消為止。

WaitAll(Task[], TimeSpan)

等候所有提供的可取消 Task 物件在指定的時間間隔內完成執行。

WaitAny(Task[])

等候任何提供的 Task 物件完成執行。

WaitAny(Task[], CancellationToken)

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

WaitAny(Task[], Int32)

等候任何提供的 Task 物件在指定的毫秒數內完成執行。

WaitAny(Task[], Int32, CancellationToken)

等候任何提供的 Task 物件在指定的毫秒數內完成執行,或直到取消令牌取消為止。

WaitAny(Task[], TimeSpan)

等候任何提供的 Task 物件在指定的時間間隔內完成執行。

WaitAsync(CancellationToken)

取得 Task,這個 Task 完成時,或指定的 CancellationToken 要求取消時完成。

WaitAsync(TimeSpan)

取得 Task,此 Task 完成或指定的逾時到期時完成。

WaitAsync(TimeSpan, CancellationToken)

取得 Task,當這個 Task 完成、指定的逾時到期或指定的 CancellationToken 要求取消時完成。

WaitAsync(TimeSpan, TimeProvider)

取得 Task,此 Task 完成或指定的逾時到期時完成。

WaitAsync(TimeSpan, TimeProvider, CancellationToken)

取得 Task,當這個 Task 完成、指定的逾時到期或指定的 CancellationToken 要求取消時完成。

WhenAll(IEnumerable<Task>)

建立工作,此工作會在可列舉集合中的所有 Task 物件都完成時完成。

WhenAll(ReadOnlySpan<Task>)

建立當所有提供的工作都完成時,將會完成的工作。

WhenAll(Task[])

建立當陣列中的所有 Task 物件都完成時,將會完成的工作。

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

建立工作,此工作會在可列舉集合中的所有 Task<TResult> 物件都完成時完成。

WhenAll<TResult>(ReadOnlySpan<Task<TResult>>)

建立當所有提供的工作都完成時,將會完成的工作。

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

建立當陣列中的所有 Task<TResult> 物件都完成時,將會完成的工作。

WhenAny(IEnumerable<Task>)

建立當任何提供的工作完成時,將會完成的工作。

WhenAny(ReadOnlySpan<Task>)

建立當任何提供的工作完成時,將會完成的工作。

WhenAny(Task, Task)

建立當其中一個提供的工作完成時,將會完成的工作。

WhenAny(Task[])

建立當任何提供的工作完成時,將會完成的工作。

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

建立當任何提供的工作完成時,將會完成的工作。

WhenAny<TResult>(ReadOnlySpan<Task<TResult>>)

建立當任何提供的工作完成時,將會完成的工作。

WhenAny<TResult>(Task<TResult>, Task<TResult>)

建立當其中一個提供的工作完成時,將會完成的工作。

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

建立當任何提供的工作完成時,將會完成的工作。

WhenEach(IEnumerable<Task>)

建立 IAsyncEnumerable<T>,當這些工作完成時,會產生提供的工作。

WhenEach(ReadOnlySpan<Task>)

建立 IAsyncEnumerable<T>,當這些工作完成時,會產生提供的工作。

WhenEach(Task[])

建立 IAsyncEnumerable<T>,當這些工作完成時,會產生提供的工作。

WhenEach<TResult>(IEnumerable<Task<TResult>>)

建立 IAsyncEnumerable<T>,當這些工作完成時,會產生提供的工作。

WhenEach<TResult>(ReadOnlySpan<Task<TResult>>)

建立 IAsyncEnumerable<T>,當這些工作完成時,會產生提供的工作。

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

建立 IAsyncEnumerable<T>,當這些工作完成時,會產生提供的工作。

Yield()

建立可等候的工作,以異步方式在等候時傳回目前的內容。

明確介面實作

IAsyncResult.AsyncWaitHandle

取得可用來等候工作完成的 WaitHandle

IAsyncResult.CompletedSynchronously

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

擴充方法

AsyncWait<TException>(Task)

表示異步操作。

AwaitWithTimeout(Task, TimeSpan)

表示異步操作。

ToApm(Task, AsyncCallback, Object)

表示異步操作。

ToApmEnd(IAsyncResult)

表示異步操作。

ToApmEnd<TResult>(IAsyncResult)

表示異步操作。

Wait(Task, TimeSpan, Action<Exception,TimeSpan,String>, String)

表示異步操作。

WaitForCompletion(Task)

表示異步操作。

WaitForCompletionNoSpin(Task)

表示異步操作。

WaitForCompletionNoSpin(Task, TimeSpan)

表示異步操作。

WaitAsync(Task, TimeSpan, TimeProvider, CancellationToken)

取得 Task,當這個 Task 完成、指定的逾時到期或指定的 CancellationToken 要求取消時完成。

DispatcherOperationWait(Task)

無限期等候基礎 DispatcherOperation 完成。

DispatcherOperationWait(Task, TimeSpan)

等候基礎 DispatcherOperation 完成指定的時間量。

IsDispatcherOperationTask(Task)

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

AsAsyncAction(Task)

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

適用於

執行緒安全性

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

另請參閱