Task クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
非同期操作を表します。
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の ID を返します。 |
Exception |
Task が途中で終了する原因となった AggregateException を取得します。
Task が正常に完了した場合、またはまだ例外がスローされていない場合は、 |
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>) |
スレッド プールで実行する指定された作業をキューに入れ、 |
Run(Func<Task>, CancellationToken) |
スレッド プールで実行する指定された作業をキューに入れ、 |
Run<TResult>(Func<Task<TResult>>) |
スレッド プールで実行する指定された作業をキューに入れ、 |
Run<TResult>(Func<Task<TResult>>, CancellationToken) |
スレッド プールで実行する指定された作業をキューに入れ、 |
Run<TResult>(Func<TResult>) |
スレッド プールで実行する指定された作業をキューに入れ、その作業を表す Task<TResult> オブジェクトを返します。 取り消しトークンを使用すると、まだ開始されていない場合に作業を取り消すことができます。 |
Run<TResult>(Func<TResult>, CancellationToken) |
スレッド プールで実行する指定された作業をキューに入れ、その作業を表す |
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 が完了したとき、または指定した CancellationToken がキャンセル要求されたときに完了する Task を取得します。 |
WaitAsync(TimeSpan) | |
WaitAsync(TimeSpan, CancellationToken) |
この Task が完了したとき、指定したタイムアウトが経過したとき、または指定した CancellationToken が取り消しを要求したときに完了する Task を取得します。 |
WaitAsync(TimeSpan, TimeProvider) | |
WaitAsync(TimeSpan, TimeProvider, CancellationToken) |
この Task が完了したとき、指定したタイムアウトが経過したとき、または指定した CancellationToken が取り消しを要求したときに完了する Task を取得します。 |
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 が完了したとき、指定したタイムアウトが経過したとき、または指定した CancellationToken が取り消しを要求したときに完了する Task を取得します。 |
DispatcherOperationWait(Task) |
基になる DispatcherOperation が完了するまで無期限に待機します。 |
DispatcherOperationWait(Task, TimeSpan) |
基になる DispatcherOperation が完了するまで、指定した時間待機します。 |
IsDispatcherOperationTask(Task) |
この Task が DispatcherOperationに関連付けられているかどうかを示す値を返します。 |
AsAsyncAction(Task) |
開始されたタスクを表す Windows ランタイム非同期アクションを返します。 |
適用対象
スレッド セーフ
Dispose()を除く、Taskのすべてのメンバーはスレッド セーフであり、複数のスレッドから同時に使用できます。
こちらもご覧ください
- Task<TResult>
- タスク並列ライブラリ (TPL)
- .NET でのタスク ベースの非同期パターン (TAP) の : 概要と概要
- タスク ベースの非同期プログラミング の
- .NET Core および .NET Standard を使用した並列プログラミングの
サンプル
.NET