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 线程上存在的同步上下文通常会优先处理发布到上下文的工作,而不是输入和呈现工作。 出于此原因,不要依赖 await Task.Yield();
来保持 UI 响应。 有关详细信息,请参阅使用 .NET 并行编程博客中的“ 通过 ContinueWith 启用有用的抽象 ”一文。