程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> c#重點知識詳細解說(六:線程)

c#重點知識詳細解說(六:線程)

編輯:C#入門知識
     如同java一樣,在c#中寫一個多線程應用是非常簡單的,本章將介紹如何在c#種開發多線程程序。在.net中線程是由System.Threading 名字空間所定義的。所以你必須包含這個名字空間。
   using System.Threading;
  
   開始一個線程
  
   System.Threading 名字空間的線程類描述了一個線程對象,通過使用類對象,你可以創建、刪除、停止及恢復一個線程。創建一個新線程通過new 操作,並可以通過start()方法啟動線程
  
   thread = new Thread(new ThreadStart(HelloWorld));
   thread.Start();
  
   注意:和java程序不同,創建新線程並調用start()方法後並不去調用run()方法,而是傳遞線程調用程序
  
  下面是啟動線程執行的函數
  
  protected void HelloWorld()
  {
  string str ;
  Console.write("helloworld");
  }
  }
  
  殺死一個線程
  
  線程類的 Abort()方法可以永久的殺死一個線程。在殺死一個線程起前應該判斷線程是否在生存期間。
  
  if ( thread.IsAlive )
  {
  thread.Abort();
  }
  
  停止一個線程
  
  Thread.Sleep 方法能夠在一個固定周期類停止一個線程
  
  thread.Sleep();
  
  設定線程優先級
  
  線程類中的ThreadPriority 屬性是用來設定一個ThreadPriority的優先級別。線程優先級別包括Normal, AboveNormal, BelowNormal, Highest, and Lowest幾種。
  
  
  thread.Priority = ThreadPriority.Highest;
  
  掛起一個線程
  
  調用線程類的Suspend()方法將掛起一個線程直到使用Resume()方法喚起她。在掛起一個線程起前應該判斷線程是否在活動期間。
  
  if (thread.ThreadState = ThreadState.Running )
  {
  thread.Suspend();
  }
  
  喚起一個線程
  
  通過使用Resume()方法可以喚起一個被掛起線程。在掛起一個線程起前應該判斷線程是否在掛起期間,如果
  線程未被掛起則方法不起作用。
  
  
  if (thread.ThreadState = ThreadState.Suspended )
  {
  thread.Resume();
  }  

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved