文件名称:ObviousAwait:to ConfigureAwait(true)和ConfigureAwait(false)的表达别名
文件大小:196KB
文件格式:ZIP
更新时间:2024-06-15 22:12:00
task async thread tasks multithreading
如果您曾经有过使用.NET进行异步编程的乐趣,那么您可能已经看到了这个人: await anyTask.ConfigureAwait(false); ConfigureAwait()告诉.NET运行时,您希望代码在等待指令完成后如何继续执行。 这听起来很简单,所以您可能会惊讶于在互联网上可以找到多少关于该主题的博客文章。 您应该知道的最重要的一个是( : 如果您不想在这篇庞大的博客文章中遇到麻烦,我强烈建议您观看以下视频。 这不是我的,但我希望每个.NET开发人员都能有机会观看它: 那我为什么要在乎呢? 如果您在代码中使用异步并等待,而不关注ConfigureAwait() ,则很可能会遇到跨线程异常和死锁,或者很可能错过加速异步代码的机会。 为了澄清,让我们从斯蒂芬的博客文章中摘录两段: 我为什么要使用ConfigureAwait(false) ? ConfigureAw
【文件预览】:
ObviousAwait-master
----build.cake(3KB)
----.gitignore(6KB)
----ObviousConsole()
--------Program.cs(451B)
--------ObviousConsole.csproj(271B)
----build.ps1(8KB)
----ObviousAwait.sln(2KB)
----LICENSE(1KB)
----tools()
--------packages.config(105B)
----ObviousAwait()
--------ObviousExtensions.cs(3KB)
--------ObviousAwait.csproj(141B)
----README.md(9KB)
----ObviousAwait.v3.ncrunchsolution(194B)
----build.sh(3KB)
----ObviousTests()
--------ObviousExtensionsTests.cs(3KB)
--------ObviousTests.csproj(395B)
----docs()
--------Comparison.png(88KB)
--------ObviousAwait.png(71KB)
--------TrueOrFalse.png(27KB)
----ObviousAwait.nuspec(2KB)