自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

淺析編寫C#多線程

開發(fā) 后端
本文介紹編寫C#多線程應(yīng)用程序非常得容易,即使對(duì)于那些從沒(méi)有編寫C#多線程應(yīng)用程序的初學(xué)者,只需遵循以下這些簡(jiǎn)單的步驟就可以實(shí)現(xiàn)目的。

編寫C#多線程應(yīng)用程序非常得容易,即使對(duì)于那些從沒(méi)有編寫C#多線程應(yīng)用程序的初學(xué)者,只需遵循以下這些簡(jiǎn)單的步驟就可以實(shí)現(xiàn)目的。

定義名稱空間

在.NET中,多線程功能是在System.Threading名稱空間中定義的。因此,在使用任何線程類之前,必須定義 System.Threading名稱空間。定義方法如下:

  1. using System.Threading; 

啟動(dòng)線程

System.threading名稱空間中的Thread類代表一個(gè)線程對(duì)象,用這個(gè)類對(duì)象可以創(chuàng)建新的線程,刪除、暫停和恢復(fù)線程。 下面的代碼使用Thread類創(chuàng)建一個(gè)新的線程,然后啟動(dòng)這個(gè)線程:

  1. thread = new Thread(new ThreadStart( WriteData ));  
  2. thread.Start(); 

其中WriteData是這個(gè)線程要執(zhí)行的一個(gè)函數(shù),代碼如下:

  1. protected void WriteData()  
  2. {  
  3. string str ;  
  4. for ( int i = 0; i<=10000; i++ )  
  5. {  
  6. str = "Secondary Thread" + i.ToString();  
  7. Console.WriteLine(listView1.ListItems.Count, str, 0, new string[]{""} );  
  8. Update();  
  9. }  

殺死線程

Thread類的Abort方法用于***地殺死一個(gè)線程。但是請(qǐng)注意,在調(diào)用Abort方法前一定要判斷線程是否還激活,也就是判斷thread.IsAlive的值:

  1. if ( thread.IsAlive )  
  2. {  
  3. thread.Abort();  

暫停線程

Thread.Sleep方法用于將一個(gè)線程暫停一段時(shí)間,代碼如下:

  1. thread.Sleep(); 

設(shè)置線程的優(yōu)先權(quán)

我們可以使用Thread類的ThreadPriority屬性設(shè)置線程的優(yōu)先權(quán)。線程優(yōu)先權(quán)的取值范圍是Normal、AboveNormal、BelowNormal、Highest或者Lowest。請(qǐng)看下面的設(shè)置代碼:

  1. thread.Priority = ThreadPriority.Highest; 

延遲線程

Thread類的Suspend方法可以延遲一個(gè)線程。線程被延遲到調(diào)用Resume方法為止。

  1. if (thread.ThreadState = ThreadState.Running )  
  2. {  
  3. thread.Suspend();  

恢復(fù)被延遲的線程

調(diào)用Resume方法可以恢復(fù)一個(gè)被延遲的線程。如果線程沒(méi)有被延遲,Resume方法就是無(wú)效的。以上介紹編寫C#多線程應(yīng)用程序

  1. if (thread.ThreadState = ThreadState.Suspended )  
  2. {  
  3. thread.Resume();  

【編輯推薦】

  1. 定義C#接口學(xué)習(xí)經(jīng)驗(yàn)
  2. C# ListBox學(xué)習(xí)筆記
  3. 操作C# Dataset介紹
  4. C# ODBC訪問(wèn)MySQL數(shù)據(jù)庫(kù)
  5. 淺析C#和Java不同點(diǎn)
責(zé)任編輯:佚名 來(lái)源: IT實(shí)驗(yàn)室
相關(guān)推薦

2009-08-06 16:58:40

C#編寫ActiveX

2009-08-18 16:31:19

Visual C#編寫

2009-08-28 15:05:35

C#編寫Calenda

2009-08-21 11:31:59

異步和多線程的區(qū)別

2009-08-14 10:35:25

C#最小化編寫

2009-09-11 09:10:30

C#編寫游戲

2009-08-28 16:51:32

C#線程控制

2009-08-17 14:08:33

C#進(jìn)度條使用

2009-08-14 09:43:59

C#復(fù)制構(gòu)造函數(shù)

2009-08-28 15:57:56

C#線程傳遞參數(shù)

2009-08-28 17:10:59

C#線程優(yōu)先級(jí)

2009-08-28 16:43:57

C#多線程學(xué)習(xí)

2009-09-04 15:09:48

C#多線程啟動(dòng)Squa

2009-09-24 14:59:38

C#編寫COM組件

2024-10-21 16:59:37

C#編程多線程

2009-07-17 10:37:05

C#多線程

2009-08-26 18:13:55

C#多線程lock

2011-04-25 14:42:10

C#lock

2009-08-17 16:56:51

C#多線程控制進(jìn)度條

2009-08-07 17:25:37

C# SortedLi
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)