在执行await的线程存在SynchronizedContext的
在await执行结束后会回到SynchronizedContext线程
如果configureAwait为false,则await后面的代码不会执行在SynchronizedContext线程
比如典型的UI线程
private async void eventHandler(Object o, EventArgs args)
{
//此处执行在UI线程
before await code;
//异步调用
var r = await localMethod().ConfigureAwait(false);
//此处代码不会执行在UI线程
after await code;
}
如果不调用ConfigureAwait(false);
after await code 会回到UI线程执行
--
FROM 1.20.4.*