- 1.Thread 自己创建的独立的线程, 优先级高,需要使用者自己管理。
- 2.ThreadPool 有 .Net 自己管理, 只需要把需要处理的方法写好, 然后交个.Net Framework, 后续只要方法执行完毕, 则自动退出。
- 3.Task 4.0 以后新增的线程操作方式, 类似 ThreadPool, 但效率测试比ThreadPool略高, Task对多核的支持更为明显,所以在多核的处理器中, Task的优势更为明显。
class Program
{ static void Main(string[] args) { //独立创建线程 Thread t = new Thread(ThreadProcess); t.Start(new object()); //线程池 ThreadPool.QueueUserWorkItem(ThreadProcess, new object()); //Task方式创建线程 System.Threading.Tasks.Task.Factory.StartNew(ThreadProcess, new object()); //需要手动终止,当然现在终止可能线程还未运行完成, t.Abort(); } private static void ThreadProcess(object tag) { int i = 100; while (i > 0) { Console.WriteLine(string.Format("i:{0} ", i)); Thread.Sleep(10); i--; } } }