【发布时间】:2012-03-15 20:27:15
【问题描述】:
我刚刚问了关于 Task 的问题,但意识到我实际上想问更一般的问题。 有人可以总结任务和线程的优缺点。 如何理解我应该使用Task还是Thread?
【问题讨论】:
-
我已经回答了一个类似(但不完全相同)的问题here。希望它派上用场。
-
@AdamMihalcin 我正在寻找可以回答在每种特定情况下我应该使用什么的算法 - 任务或线程?
-
首先要了解的是任务和线程有什么区别。 “给我做三明治”是一项任务。聘请厨师正在创建一个线程。如果你把这两件事混为一谈,那么你要么雇佣一大堆你不能吃的不必要的厨师,要么你会要求一堆三明治来做晚餐。您决定使用任务还是线程的方式是决定是否要在代码中表示任务无论谁执行任务,还是要代表执行任务的工人。
-
@javapowered:它们是首选方式,因为它们会重新聚焦您的代码以强调正在执行的任务,而不是正在执行它们的工作人员我>。线程代码的大多数问题都源于协调工作线程(线程)的困难。如果你从事吃三明治的生意,最好能说“我需要一百个三明治”,然后让任务库算出要雇用多少厨师。
标签: c#