.net - 等待(GetAwaiter)和ContinueWith有什么区别

标签 .net multithreading .net-4.0

在 .net 4.0 中,我经常使用 Task.ContinueWith。但随后 I spotted "task.GetAwaiter()"这似乎具有相同的目的。

有什么不同?

最佳答案

如果你的目标是 .NET 4,你会使用 ContinueWith .

一般来说,您通常不会使用 task.GetAwaiter() .存在此方法是为了支持await关键字,并且不是 .NET 4 的一部分(它是在 4.5 中添加的)。这通常不是您自己直接使用的东西,而是将其作为 async 的一部分编写。方法。

关于.net - 等待(GetAwaiter)和ContinueWith有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16306474/

相关文章:

c# - form.dispose() 总是调用验证事件并显示弹出消息

regex - 用正则表达式检查变音符号

c# - 在不迭代的情况下将对象集合添加到另一个对象集合

.net - 使用 Entity Framework 将 SQL Server 数据库导出到 Access

.net - 发送所有WCF REST OPTION调用的自定义 header

C# 异步等待和线程池

C Windows 多线程 TCPIP 之间的连接

linux - pthread_rwlockattr_getkind_np() 是否仅返回使用 pthread_rwlockattr_setkind_np 设置的标志?

c# - 如何使用 Directory.EnumerateFiles() 应用多个搜索模式?

c# - 多线程时是否必须锁定数据库连接?