在NET和C#中編寫一個多線程應用程序將非常得容易即使對於那些從沒有用C#編寫過多線程應用程序的初學者只需遵循以下這些簡單的步驟就可以實現目的
定義名稱空間
在NET中多線程功能是在SystemThreading名稱空間中定義的因此在使用任何線程類之前必須定義 SystemThreading名稱空間定義方法如下
using SystemThreading;
啟動線程
Systemthreading名稱空間中的Thread類代表一個線程對象用這個類對象可以創建新的線程刪除暫停和恢復線程 下面的代碼使用Thread類創建一個新的線程然後啟動這個線程
thread = new Thread(new ThreadStart( WriteData ));
threadStart();
其中WriteData是這個線程要執行的一個函數代碼如下
protected void WriteData()
{
string str ;
for ( int i = ; i<=; i++ )
{
str = Secondary Thread + iToString();
ConsoleWriteLine(listViewListItemsCount str new string[]{} );
Update();
}
}
殺死線程
Thread類的Abort方法用於永久地殺死一個線程但是請注意在調用Abort方法前一定要判斷線程是否還激活也就是判斷threadIsAlive的值
if ( threadIsAlive )
{
threadAbort();
}
暫停線程
ThreadSleep方法用於將一個線程暫停一段時間代碼如下
threadSleep();
設置線程的優先權
我們可以使用Thread類的ThreadPriority屬性設置線程的優先權線程優先權的取值范圍是NormalAboveNormalBelowNormalHighest或者Lowest請看下面的設置代碼
threadPriority = ThreadPriorityHighest;
延遲線程
Thread類的Suspend方法可以延遲一個線程線程被延遲到調用Resume方法為止
if (threadThreadState = ThreadStateRunning )
{
threadSuspend();
}
恢復被延遲的線程
調用Resume方法可以恢復一個被延遲的線程如果線程沒有被延遲Resume方法就是無效的
if (threadThreadState = ThreadStateSuspended )
{
threadResume();
}
From:http://tw.wingwit.com/Article/program/net/201311/13577.html