【发布时间】:2012-02-29 04:00:33
【问题描述】:
据我了解,任务和线程之间的区别是任务发生在线程池中,而线程是我需要自己管理的东西..(并且该任务可以取消并返回到线程-在他的任务结束时游泳池)
但是在一些博客中我读到如果操作系统需要创建任务和创建线程 => 创建(和销毁)任务会更容易。
有人可以解释一下为什么创建任务很简单吗?
(或者我在这里遗漏了一些东西......)
【问题讨论】:
-
job 和 worker 有什么区别?一个工人做一份工作;工人不是一份工作。有些工作是由一个工人完成的;一些工作被分解成更小的工作,所有这些工作都是由许多工人一起完成的。与任务和线程相同;任务不是一种线程;一个任务就是一个工作,而一个线程是一个完成工作的工作者。
-
我听到的另一个类比是处理器是驱动程序,线程是卡车,而任务是需要拖拉的负载。一个司机(处理器)一次只能操作一辆卡车(线程),一辆卡车(线程)一次只能拖运一个负载(任务)。您可以购买任意数量的卡车,但司机在卡车之间切换的时间越多,他们驾驶的时间就越少。货物可以堆积在仓库中等待运输,仓库可以根据任何合理的规则对它们进行优先排序并分配给卡车。
标签: c# .net task-parallel-library