1. 程式人生 > >線程與進程的初步學習

線程與進程的初步學習

ack leg 多核 服務器 cnblogs 進程 star bsp 通過

  1. 什麽情況下使用多線程:
    1.   多線程一般被用來在後天執行耗時的任務。主線程保持運行,並且工作線程做他的後臺工作
    2.   另一個多線程的用途是在方法中完成一個復雜的計算工作。這個方法會在多核的電腦上運行的更快,如果工作量被多個線程分開的話。
  2. 一個c#程序成為多線程可以通過兩種方式:
    1.   明確地創建和運行多線程

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 }

線程與進程的初步學習