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 非零,則視為當前上下文。 否則,與當前執行任務相關的任務排程器會被視為當前上下文。
備註
你可以在非同步方法中強制 await Task.Yield(); 方法非同步完成。 如果目前有同步上下文(SynchronizationContext 物件),這會將方法剩餘的執行內容回傳到該上下文。 不過,根據情境,將決定如何將這項工作相較於其他待完成的作品進行優先排序。 大多數 UI 環境中 UI 執行緒上的同步上下文,通常會優先處理發佈到上下文的工作,而非輸入和渲染工作。 因此,不要指望 await Task.Yield(); 介面能保持反應靈敏。 欲了解更多資訊,請參閱 Parallel Programming with .NET 部落格中的條目 Useful Abstractions Enabled with ContinueWith。