gpt4 book ai didi

c# - 新的 await 关键字在高度并行的环境中有用吗?

转载 作者:行者123 更新时间:2023-12-02 05:33:58 24 4
gpt4 key购买 nike

我可以看到新的 async 和 await 关键字在 GUI 应用程序中的用处,在这些应用程序中,添加线程来执行某些计算是必要的,而新关键字确实使它变得简单。但是其他类型的应用程序呢?

例如,做一些工作的服务器或不断处理数据的进程?可能我仍然误解了新关键字,但这些类型的应用程序是否受益于新关键字,还是我们应该继续使用 Tasks 以获得更明确的多线程?

最佳答案

在非 GUI 应用程序中,使用 await 的主要优势是在执行 I/O 时。

如果您采用“旧方法”,您将使用同步方法进行 I/O,这会在线程工作时阻塞线程。使用 await,您不会阻塞线程,这意味着您的应用程序将使用更少的线程,这可能会导致更低的内存使用量(每个线程需要 1 MB 内存)和整体更好的性能。

您可以使用旧的异步编程模型实现类似的改进,但它要麻烦得多。

如果您不关心您的非 GUI 应用程序使用了比必要更多的线程,那么 await 对您来说用处不大。但如果您确实关心这一点,await 可以帮到您很多。

关于c# - 新的 await 关键字在高度并行的环境中有用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11959971/

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