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 の詳細については、「Task の 補足 API 解説」を参照してください。

コンストラクター

Task(Action)

指定したアクションで新しい Task を初期化します。

Task(Action, CancellationToken)

指定したアクションおよび Task で新しい CancellationToken を初期化します。

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 の ID を返します。

Exception

AggregateException が途中で終了する原因となった Task を取得します。 Task が正常に完了した場合、または例外がスローされていない場合は、null が返されます。

Factory

Task および Task<TResult> インスタンスを作成して構成するためのファクトリ メソッドへのアクセスを提供します。

Id

この Task インスタンスの ID を取得します。

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 を破棄し、そのすべてのアンマネージ リソースを解放します。

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 によって返されるタスクのプロキシを返します。

Run(Func<Task>, CancellationToken)

スレッド プール上で実行する作業を指定してキューに配置し、function によって返されるタスクのプロキシを返します。 まだ開始されていない場合、キャンセル トークンで処理をキャンセルできます。

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

スレッド プール上で実行する指定された作業をキューに配置し、function によって返される Task(TResult) のプロキシを返します。 まだ開始されていない場合、キャンセル トークンで処理をキャンセルできます。

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

スレッド プール上で実行する指定された作業をキューに配置し、function によって返される Task(TResult) のプロキシを返します。

Run<TResult>(Func<TResult>)

スレッド プール上で実行する指定された作業をキューに配置し、その作業を表す Task<TResult> オブジェクトを戻します。 まだ開始されていない場合、キャンセル トークンで処理をキャンセルできます。

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

スレッド プール上で実行する指定された作業をキューに配置し、その作業を表す Task(TResult) オブジェクトを戻します。

RunSynchronously()

現在の TaskTaskScheduler を同期的に実行します。

RunSynchronously(TaskScheduler)

指定された TaskTaskScheduler を同期的に実行します。

Start()

現在の TaskTaskScheduler の実行をスケジュールし、それを開始します。

Start(TaskScheduler)

指定された TaskTaskScheduler の実行をスケジュールし、それを開始します。

ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)
Wait()

Task の実行が完了するまで待機します。

Wait(CancellationToken)

Task の実行が完了するまで待機します。 タスクの完了前にキャンセル トークンが取り消される場合は、待機が終了します。

Wait(Int32)

提供された Task の実行が完了するまで、指定したミリ秒数以内の間、待機します。

Wait(Int32, CancellationToken)

Task の実行が完了するまで待機します。 タスクの完了前に、タイムアウト期間が経過するか、キャンセル トークンが取り消される場合には、待機が終了します。

Wait(TimeSpan)

提供された Task の実行が完了するまで、指定した時間間隔内の間、待機します。

Wait(TimeSpan, CancellationToken)

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(Task[])

配列内のすべての Task オブジェクトが完了したときに完了するタスクを作成します。

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

列挙可能なコレクション内のすべての Task<TResult> オブジェクトが完了したときに完了するタスクを作成します。

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

配列内のすべての Task<TResult> オブジェクトが完了したときに完了するタスクを作成します。

WhenAny(IEnumerable<Task>)

指定されたタスクのいずれかが完了してから完了するタスクを作成します。

WhenAny(Task, Task)

指定されたいずれかのタスクが完了してから完了するタスクを作成します。

WhenAny(Task[])

指定されたタスクのいずれかが完了してから完了するタスクを作成します。

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

指定されたタスクのいずれかが完了してから完了するタスクを作成します。

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

指定されたいずれかのタスクが完了してから完了するタスクを作成します。

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

指定されたタスクのいずれかが完了してから完了するタスクを作成します。

Yield()

待機されたときに現在のコンテキストに非同期的に処理を譲る awaitable タスクを作成します。

明示的なインターフェイスの実装

IAsyncResult.AsyncWaitHandle

タスクの完了を待機するために使用できる WaitHandle を取得します。

IAsyncResult.CompletedSynchronously

操作が同期的に完了したかどうかを示す値を取得します。

拡張メソッド

DispatcherOperationWait(Task)

基になる DispatcherOperation が完了するまで無期限に待機します。

DispatcherOperationWait(Task, TimeSpan)

基になる DispatcherOperation が完了するまで、指定された時間待機します。

IsDispatcherOperationTask(Task)

この TaskDispatcherOperation に関連付けられているかどうかを示す値を返します。

AsAsyncAction(Task)

開始されたタスクを表す Windows ランタイム非同期アクションを返します。

適用対象

スレッド セーフ

を除く Dispose()すべてのTaskメンバーはスレッド セーフであり、複数のスレッドから同時に使用できます。

こちらもご覧ください