線程與進程的初步學習
阿新 • • 發佈:2017-11-12
ack leg 多核 服務器 cnblogs 進程 star bsp 通過
- 什麽情況下使用多線程:
- 多線程一般被用來在後天執行耗時的任務。主線程保持運行,並且工作線程做他的後臺工作
- 另一個多線程的用途是在方法中完成一個復雜的計算工作。這個方法會在多核的電腦上運行的更快,如果工作量被多個線程分開的話。
- 一個c#程序成為多線程可以通過兩種方式:
- 明確地創建和運行多線程
b. 使用.NET framework暗中使用多線程的特性,比如BackgroundWorker類,線程池,threading timer,遠程服務器,Web Services或者ASP.NET程序
c. 應用服務器中多線程是相當普遍的,唯一值得關心的是提供適當鎖機制的靜態變量問題
3. 多線程的缺點:
a. 程序變得過於復雜
b. 頻繁地分配和切換線程時,多線程會增加資源和CPU的開銷
4. 線程的使用
a. 線程用Thread類來創建,通過ThreadStrart委托來指明方法從哪裏運行
i. public delegate void ThreadStart();
調用Start方法後,線程開始運行,線程一直到它所調用的方法返回後結束
1 namespace _05ThreadTest 2 { 3 class ThreadTest 4 { 5 static void Main(string[] args) 6 { 7 Thread th = new Thread(new ThreadStart(Go)); 8 th.Start(); 9 Go(); 10 } 11 static void Go() 12 { 13 Console.WriteLine("Hello"); 14 } 15 } 16 }
線程與進程的初步學習