C#線程學(xué)習(xí)的一點(diǎn)體會(huì)和總結(jié)
C#線程學(xué)習(xí)如同在Java中一樣,在c#中寫(xiě)一個(gè)多線程應(yīng)用是非常簡(jiǎn)單的,本章將介紹如何在c#種開(kāi)發(fā)多線程程序。在.net中線程是由System.Threading 名字空間所定義的。所以你必須包含這個(gè)名字空間。
- using System.Threading;
開(kāi)始一個(gè)C#線程
System.Threading 名字空間的線程類(lèi)描述了一個(gè)線程對(duì)象,通過(guò)使用類(lèi)對(duì)象,你可以創(chuàng)建、刪除、停止及恢復(fù)一個(gè)線程。創(chuàng)建一個(gè)新線程通過(guò)new 操作,并可以通過(guò)start()方法啟動(dòng)線程
- thread = new Thread(new ThreadStart(HelloWorld));
- thread.Start();
注意:和java程序不同,創(chuàng)建新線程并調(diào)用start()方法后并不去調(diào)用run()方法,而是傳遞線程調(diào)用程序下面是啟動(dòng)線程執(zhí)行的函數(shù)
- protected void HelloWorld()
- {
- string str ;
- Console.write("helloworld");
- }
- }
殺死一個(gè)C#線程
線程類(lèi)的 Abort()方法可以永久的殺死一個(gè)線程。在殺死一個(gè)線程起前應(yīng)該判斷線程是否在生存期間。
- if ( thread.IsAlive )
- {
- thread.Abort();
- }
停止一個(gè)C#線程
Thread.Sleep 方法能夠在一個(gè)固定周期類(lèi)停止一個(gè)線程
- thread.Sleep();
設(shè)定線程優(yōu)先級(jí)
線程類(lèi)中的ThreadPriority 屬性是用來(lái)設(shè)定一個(gè)ThreadPriority的優(yōu)先級(jí)別。線程優(yōu)先級(jí)別包括Normal, AboveNormal, BelowNormal, Highest, and Lowest幾種。
- thread.Priority = ThreadPriority.Highest;
掛起一個(gè)C#線程
調(diào)用線程類(lèi)的Suspend()方法將掛起一個(gè)線程直到使用Resume()方法喚起她。在掛起一個(gè)線程起前應(yīng)該判斷線程是否在活動(dòng)期間。
C#線程學(xué)習(xí)的一點(diǎn)體會(huì)和總結(jié)就向你介紹到這里,希望對(duì)你了解和學(xué)習(xí)C#線程有所幫助。
【編輯推薦】