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

C# ThreadState屬性分析

開發(fā) 后端
這里介紹C# ThreadState屬性,這個(gè)屬性代表了線程運(yùn)行時(shí)狀態(tài),在不同的情況下有不同的值,我們有時(shí)候可以通過對該值的判斷來設(shè)計(jì)程序流程。

C#多線程有很多值得學(xué)習(xí)的地方,這里我們主要介紹C# ThreadState屬性,包括介紹主線程Main()函數(shù)和線程的優(yōu)先級(jí)等方面。

主線程Main()函數(shù)

所有線程都是依附于Main()函數(shù)所在的線程的,Main()函數(shù)是C#程序的入口,起始線程可以稱之為主線程。如果所有的前臺(tái)線程都停止了,那么主線程可以終止,而所有的后臺(tái)線程都將無條件終止。所有的線程雖然在微觀上是串行執(zhí)行的,但是在宏觀上你完全可以認(rèn)為它們在并行執(zhí)行。

C# ThreadState屬性

這個(gè)屬性代表了線程運(yùn)行時(shí)狀態(tài),在不同的情況下有不同的值,我們有時(shí)候可以通過對該值的判斷來設(shè)計(jì)程序流程。C# ThreadState屬性的取值如下:
◆Aborted:線程已停止;
◆AbortRequested:線程的Thread.Abort()方法已被調(diào)用,但是線程還未停止;
◆Background:線程在后臺(tái)執(zhí)行,與屬性Thread.IsBackground有關(guān);
◆Running:線程正在正常運(yùn)行;
◆Stopped:線程已經(jīng)被停止;
◆StopRequested:線程正在被要求停止;
◆Suspended:線程已經(jīng)被掛起(此狀態(tài)下,可以通過調(diào)用Resume()方法重新運(yùn)行);
◆SuspendRequested:線程正在要求被掛起,但是未來得及響應(yīng);
◆Unstarted:未調(diào)用Thread.Start()開始線程的運(yùn)行;
◆WaitSleepJoin:線程因?yàn)檎{(diào)用了Wait(),Sleep()或Join()等方法處于封鎖狀態(tài);

上面提到了Background狀態(tài)表示該線程在后臺(tái)運(yùn)行,那么后臺(tái)運(yùn)行的線程有什么特別的地方呢?其實(shí)后臺(tái)線程跟前臺(tái)線程只有一個(gè)區(qū)別,那就是后臺(tái)線程不妨礙程序的終止。一旦一個(gè)進(jìn)程所有的前臺(tái)線程都終止后,CLR(通用語言運(yùn)行環(huán)境)將通過調(diào)用任意一個(gè)存活中的后臺(tái)進(jìn)程的Abort()方法來徹底終止進(jìn)程。

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

當(dāng)線程之間爭奪CPU時(shí)間時(shí),CPU 是按照線程的優(yōu)先級(jí)給予服務(wù)的。在C#應(yīng)用程序中,用戶可以設(shè)定5個(gè)不同的優(yōu)先級(jí),由高到低分別是 Highest,AboveNormal,Normal,BelowNormal,Lowest,在創(chuàng)建線程時(shí)如果不指定優(yōu)先級(jí),那么系統(tǒng)默認(rèn)為 ThreadPriority.Normal。

給一個(gè)線程指定優(yōu)先級(jí),我們可以使用如下代碼:

  1. //設(shè)定優(yōu)先級(jí)為***  
  2. myThread.Priority=ThreadPriority.Lowest;  

通過設(shè)定線程的優(yōu)先級(jí),我們可以安排一些相對重要的線程優(yōu)先執(zhí)行,例如對用戶的響應(yīng)等等。

【編輯推薦】

  1. C# lock關(guān)鍵字?jǐn)⑹?/FONT>
  2. C#.Net FrameWork簡介
  3. C# new和override簡單描述
  4. C#值類型和引用類型淺談
  5. C#標(biāo)識(shí)符簡單分析
責(zé)任編輯:佚名 來源: IT168
相關(guān)推薦

2009-09-01 17:41:45

C# HelpAttr

2009-08-21 15:57:58

C# DataSour

2009-08-28 09:30:48

C#命名屬性

2009-09-03 16:51:27

C#類屬性

2009-08-27 10:01:52

C#自動(dòng)屬性

2009-09-17 17:13:54

C#數(shù)組

2009-08-19 11:21:02

C# ListBox控

2009-08-27 13:27:50

C# this保留字

2009-08-26 10:34:59

C# Hashtabl

2009-09-01 09:16:57

C#使用SharpZi

2009-09-07 15:49:55

C#屬性化的方法

2009-08-31 14:07:57

C# private字C# public屬性

2009-09-07 04:56:52

C#模式窗體

2009-08-21 17:45:40

C#調(diào)用COM對象

2009-09-01 10:58:46

C#匿名類型對象

2012-10-31 17:37:48

2009-09-01 18:05:17

C#類型聲明

2009-09-01 18:36:35

C#委托實(shí)例

2009-09-18 10:45:31

C#數(shù)組操作

2009-08-27 15:17:18

C# interfacinterface使用
點(diǎn)贊
收藏

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