我读过很多帖子,但仍然无法区分所有这些。我所能理解的是 Task.Run 将调用后台线程。 async-await 是异步编程。
Task.Run 是否意味着后台线程将表现为阻塞线程?
尝试从互联网下载多个大图像。我应该如何组合使用这些关键字以及为什么?
何时使用 Task.Run、何时使用 async-await 以及何时组合使用它们
我有一个关于该主题的整个博客系列,但总而言之:
- Use
Task.Run
对于具有 UI 的应用程序,将受 CPU 限制(或阻塞)的工作移出 UI 线程。
- Use
async
/await
用于 I/O 密集型工作。
还有一些更罕见的情况Task.Run
or async
可能很有用,但以上两点为大多数情况提供了指导。
Task.Run 是否意味着后台线程将表现为阻塞线程?
Task.Run
实际上可以同步或异步运行,但它确实使用了线程池线程。
我正在尝试在 .net 4.5 中创建桌面控制台应用程序
尝试从互联网下载多个大图像。我应该如何组合使用这些关键字以及为什么?
这是非 UI 应用程序中的 I/O 密集型操作,因此您绝对应该更喜欢async
/await
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)