gpt4 book ai didi

c# - 为什么在正常线程或任务上使用 Async/Await?

转载 作者:IT王子 更新时间:2023-10-29 04:12:18 24 4
gpt4 key购买 nike

我已经阅读了很多关于 async 和 await 的内容,但起初我没有理解,因为我没有正确理解线程或任务。但在掌握了两者之后,我想知道:如果您对线程感到满意,为什么还要使用 async/await

async/await 的异步性可以通过 Thread signaling 或 Thread.Join() 等来完成。是否仅仅是为了节省编码时间和“减少”麻烦?

最佳答案

是的,它是一种语法糖,它使处理线程变得更加容易,它也使代码更易于维护,因为线程管理是由运行时完成的。 await 立即释放线程并允许该线程或另一个线程从它停止的地方继续,即使在主线程上完成也是如此。

和其他抽象一样,如果你想完全控制幕后的机制,那么你仍然可以自由地使用线程信号等实现类似的逻辑。

如果您有兴趣查看 async/await 生成的内容,那么您可以使用 Reflector 或 ILSpy 反编译生成的代码。

阅读What does async & await generate?了解 C# 5.0 代表您所做的事情。

关于c# - 为什么在正常线程或任务上使用 Async/Await?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18298946/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com