专用线程
由new Thread()创建的线程称为专用线程。一般不建议使用专用线程,除非有下列情况:
- 你需要线程运行在非正常的优先级时。线程池中的所有线程都是运行在正常优先级(Normal)下。
- 你需要线程作为前台线程运行时。线程池中的所有线程都是后台线程。
- 当执行一个非常长时间的计算密集型任务时。
- 你想创建一个专用线程,并通过Thread.Abort能尽早地结束它的时候
//create a dedicated thread and have it call a method asynchronously
private static void DedicatedThread()
{
Thread dedicatedThread = new Thread(ComputeBoundOp);
dedicatedThread.Start(5);
Console.WriteLine("Main thread: Doing other work here ...");
Thread.Sleep(8000); //Simulating other work
dedicatedThread.Join();//等待线程终止
}
private static void ComputeBoundOp(Object state)
{
Console.WriteLine("In ComputeBoundOp: state={0}",state);
Thread.Sleep(1000);
//when this method returns,the dedicated thread dies
}