重访Task.ConfigureAwait(continueOnCapturedContext:false)

重访Task.ConfigureAwait(continueOnCapturedContext:false),第1张

重访Task.ConfigureAwait(continueOnCapturedContext:false)

当您处理异步 *** 作时,线程切换的开销太小而无法关心(通常而言)。的目的

ConfigureAwait(false)
不是要引起线程切换(如有必要),而是要防止在特定的特殊上下文中运行过多的代码。

这种模式背后的原因是“它有助于避免死锁”。

和堆栈潜水。

但是我确实认为这在一般情况下不是问题。当遇到未正确使用的代码时

ConfigureAwait
,我将其包装在中
Task.Run
然后继续。线程切换的开销不值得担心。



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/4925087.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-12
下一篇2022-11-12

发表评论

登录后才能评论

评论列表(0条)

    保存