- 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--;
}
}
}