c#重點知識詳解(六)
2024-07-21 02:15:56
供稿:網友
 
如同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(); 
} 
本文來源于網頁設計愛好者web開發社區http://www.html.org.cn收集整理,歡迎訪問。