何时使用Task以及何时使用Thread?

jav*_*red 15 c#

我刚刚问过关于任务的问题,但意识到我其实想问更多一般问题.有人可以总结一下任务和线程的优缺点.如何理解我应该使用Task还是Thread?

Tig*_*ran 5

Task是一个以异步方式编程以执行某些操作的命令.该Thread实际上是OS内核对象,执行请求的内容.想想Task就像一个聪明的线程聚合器/组织者"知道"在你的网站上运行当代的任务更好CPU.它比多线程的常见实现更聪明(这就是为什么它建议选择微软).这是一项功能,可以帮助您Threads更轻松地进行管理.

另外,我应该使用ThreadPools或任务并行库进行IO绑定操作,这可能会为您提供一些您可能感兴趣的性能问题的提示.