【问题标题】:difference between new thread and task start new?新线程和新任务之间的区别?
【发布时间】:2012-11-21 16:49:02
【问题描述】:

以下方法有什么区别?

 Task.Factory.StartNew(() => CustomConnection());  


 new Thread(CustomConnection).Start();

两者都将创建新线程来执行工作。在什么意义上线程与任务不同?
性能方面哪个更好?

【问题讨论】:

标签: c# multithreading task-parallel-library


【解决方案1】:

关键区别在于任务方法将利用线程池。

这很重要,因为这意味着您将只创建绝对必要的线程数。在可能的情况下,将重复使用现有线程,从而无需创建新线程即可获得性能优势。

如果您要创建大量线程,对于运行时间相对较短的操作,上述好处变得更加重要。但是,如果操作是一个或几个,长时间运行的操作,它的好处就更少了。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2011-03-16
  • 2015-05-08
  • 2011-03-03
  • 1970-01-01
  • 2016-06-22
  • 1970-01-01
  • 2010-12-28
  • 1970-01-01
相关资源
最近更新 更多