前臺執行緒和後臺執行緒的區別
阿新 • • 發佈:2021-07-08
1 class Program 2 { 3 public static void Go(bool background) 4 { 5 //建立一個執行緒 6 Thread t = new Thread(ThreadMethod); 7 8 if (background) t.IsBackground = true; 9 //開始執行緒 10 t.Start(); 11 return; 12 } 13 14 private static void ThreadMethod() 15 { 16 //模擬10秒的工作任務 17 Thread.Sleep(10000); 18 Console.WriteLine("ThreadMethod is exiting"); 19 } 20 21 static void Main() 22 { 23 //如果是前臺執行緒(引數false),則main執行完畢後,需要等待ThredMethod返回才會結束應用程式。24 //如果是後臺執行緒(引數true),則main執行完畢後,不會等待ThredMethod返回,立即結束ThredMethod。 25 Go(true); 26 } 27 }
通過Thread New建立的執行緒預設都是前臺執行緒,執行緒池執行緒預設都是後臺執行緒。