【发布时间】:2016-10-20 11:15:34
【问题描述】:
我是初学者,对这个主题了解不多。但显然,所有这些语句都允许应用程序在后台线程中运行其任务。这真的很令人困惑。哪些应该使用/不使用或首选?
Task t = new Task( () => doSomeWork() );
t.Start();
和
Task t = Task.Run( () => doSomeWork1() );
和
Task t = Task.Factory.StartNew( () => doSomeWork2() );
和
Thread t = new Thread(new ThreadStart( doSomeWork3 ));
t.Start();
可能还有更多类似BackgroundWorker。这些应该在什么时候使用?
【问题讨论】:
-
Task的不同形式在msdn.microsoft.com/en-us/library/… 的文档中进行了清楚的讨论。有什么具体的不清楚吗? -
非常广泛的问题。 “C# 中有很多功能。我什么时候使用每个功能?”
标签: c# .net multithreading task