繁体   English   中英

await和async以及Task并行库之间的区别

[英]Difference between await and async and Task parallel library

Task Parallel Library和await和async之间有什么区别。 是什么需要引入await和async? 我看到TPL是C#4.0的一部分,等待/ async是C#5.0的一部分,但除此之外,基本的区别是什么。 需要引入这个新关键字是什么?

任务并行库是为并行编程而设计的 - 当你有很多工作要做并希望在多个线程之间拆分工作时,你可以使用所有的CPU核心。 TPL最适合CPU密集型工作。

Async和await用于异步编程 - 当您有一个将来完成的操作(或许多操作)时,您希望在此期间执行其他操作。 Async最适合I / O绑定工作。

有一些重叠。 例如,您可以将并行计算视为异步操作,因此它不会占用您的UI线程。 此外,TPL和async / await都使用Task类型,尽管它们以非常不同的方式使用它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM