Task.Yield メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
待機時に現在のコンテキストに非同期的に戻す待機可能なタスクを作成します。
public:
static System::Runtime::CompilerServices::YieldAwaitable Yield();
public static System.Runtime.CompilerServices.YieldAwaitable Yield();
static member Yield : unit -> System.Runtime.CompilerServices.YieldAwaitable
Public Shared Function Yield () As YieldAwaitable
返品
待機時に、待機時に現在のコンテキストに非同期的に遷移するコンテキスト。 現在の SynchronizationContext が null 以外の場合は、現在のコンテキストとして扱われます。 それ以外の場合、現在実行中のタスクに関連付けられているタスク スケジューラは、現在のコンテキストとして扱われます。
注釈
非同期メソッドで await Task.Yield(); を使用して、メソッドを強制的に非同期的に完了させることができます。 現在の同期コンテキスト (SynchronizationContext オブジェクト) がある場合、メソッドの実行の残りの部分がそのコンテキストにポストされます。 ただし、コンテキストによって、保留中の可能性がある他の作業に対して、この作業に優先順位を付ける方法が決められます。 ほとんどの UI 環境の UI スレッドに存在する同期コンテキストは、多くの場合、入力とレンダリングの作業よりも高いコンテキストにポストされた作業に優先順位を付けます。 このため、UI の応答性を維持するために await Task.Yield(); に依存しないでください。 詳細については、「並列プログラミングと.NETブログ」の「 ContinueWith で有効な抽象化の使用」エントリを参照してください。