Task.Yield 方法

定義

建立會在等候時以非同步方式遞交 (Yield) 給目前內容的 awaitable 工具。

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 執行緒上存在的同步處理內容通常會優先處理張貼到高於輸入和轉譯工作的內容。 基於這個理由,請勿依賴 await Task.Yield(); 讓 UI 保持回應。 For more information, see the entry Useful Abstractions Enabled with ContinueWith in the Parallel Programming with .NET blog.

適用於