以下方法有什么区别?
Task.Factory.StartNew(() => CustomConnection());
new Thread(CustomConnection).Start();
两者都将创建用于执行作业的新线程。在什么意义上线程与任务不同?
性能明智哪个更好的选择?
答案 0 :(得分:4)
关键的区别在于Task方法将使用线程池。
这很重要,因为这意味着您只需要创建尽可能多的线程。在可能的情况下,将重用现有线程,从而提供不必创建新线程的性能优势。
如果要创建大量线程,对于相对较短的运行操作,上述好处变得更加重要。但是,如果操作是一个或几个长期运行的操作,那么它的好处就更少了。