gpt4 book ai didi

multithreading - 我什么时候应该使用 async/await,什么时候不应该使用?

转载 作者:行者123 更新时间:2023-12-03 12:43:39 24 4
gpt4 key购买 nike

从现在开始(c# 5),当我不需要立即获取方法的结果(Task<>)或者我必须触发一次性方法(void)时,我应该使用 async/await 吗?

当我在 C# 4 中使用 Task 类并将工作推送到后台线程时,我应该在所有情况下使用它吗?

我应该只在使用异步 .Net Framework 方法的情况下使用它吗?

困惑。

我基本上是在寻找一个简单的解释,在什么情况下我应该使用 await/async,什么时候不使用。

最佳答案

async/await当您有异步操作时可以使用。许多操作自然是异步的(例如 I/O);我推荐 async对于所有这些。其他操作自然是同步的(比如计算);我建议对这些使用同步方法。

您可以使用 Task.Runasync如果您需要异步运行同步代码,则用于后台工作。我在我的博客上解释了为什么这是 better than BackgroundWorker and asynchronous delegates .

您也可以使用 async替换其他形式的异步处理,例如 IAsyncResult风格。

应该使用 async在您有异步操作的任何情况下。

关于multithreading - 我什么时候应该使用 async/await,什么时候不应该使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12675158/

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