Task.Yield 方法

定义

创建一个可等待的任务,该任务在等待时异步生成回当前上下文。

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 响应。 有关详细信息,请参阅使用 ContinueWith

适用于