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

C#線程優(yōu)先級淺析

開發(fā) 后端
C#線程優(yōu)先級是我們在C#高級編程中遇到的問題,那么如何掌握好或者說控制好C#線程呢,這就需要C#線程優(yōu)先級的學(xué)習(xí),那么本文就向你簡單介紹C#線程優(yōu)先級的相關(guān)學(xué)習(xí)體會。

C#線程優(yōu)先級的必要性:如果在應(yīng)用程序中有多個線程在運行,但一些線程比另一些線程重要,該怎么辦在這種情況下,可以在一個進程中為不同的線程指定不同的優(yōu)先級。一般情況下,如果有優(yōu)先級較高的線程在工作,就不會給優(yōu)先級較低的線程分配任何時間片,其優(yōu)點是可以保證給接收用戶輸入的線程指定較高的優(yōu)先級。在大多數(shù)的時間內(nèi),這個線程什么也不做,而其他線程則執(zhí)行它們的任務(wù)。但是,如果用戶輸入了信息,這個線程就立即獲得比應(yīng)用程序中其他線程更高的優(yōu)先級,在短時間內(nèi)處理用戶輸入事件。

C#線程優(yōu)先級的規(guī)律:高優(yōu)先級的線程可以完全阻止低優(yōu)先級的線程執(zhí)行,因此在改變線程的優(yōu)先級時要特別小心。線程的優(yōu)先級可以定義為ThreadPriority枚舉的值,即Highest、AboveNormal、Normal、BelowNormal和 Lowest。

注意,每個進程都有一個基本優(yōu)先級,這些值與進程的優(yōu)先級是有關(guān)系的。給線程指定較高的優(yōu)先級,可以確保它在該進程中比其他線程優(yōu)先執(zhí)行,但系統(tǒng)上可能還運行著其他進程,它們的線程有更高的優(yōu)先級。因此Windows給自己的操作系統(tǒng)線程指定高優(yōu)先級。

在ThreadPlayaround示例中,對Main()方法做如下修改,就可以看出修改線程的優(yōu)先級的效果:

  1. ThreadStart workerStart = new ThreadStart(StartMethod);  
  2.  
  3. Thread workerThread = new Thread(workerStart);  
  4.  
  5. workerThread.Name = "Worker";  
  6.  
  7. workerThread.Priority = ThreadPriority.AboveNormal;  
  8.  
  9. workerThread.Start();  

其中,工作線程的優(yōu)先級比主線程高,運行結(jié)果如下所示:

  1. ThreadPlayaroundWithPriorities  
  2.  
  3. Interval to display results at> 1000000  
  4.  
  5. Starting thread: Main Thread  
  6.  
  7. Main Thread: Current Culture = en-US  
  8.  
  9. Starting thread: Worker  
  10.  
  11. Worker: Current Culture = en-US  
  12.  
  13. Main Thread: count has reached 1000000  
  14.  
  15. Worker: count has reached 1000000  
  16.  
  17. Worker: count has reached 2000000  
  18.  
  19. Worker: count has reached 3000000  
  20.  
  21. Worker: count has reached 4000000  
  22.  
  23. Worker: count has reached 5000000  
  24.  
  25. Worker: count has reached 6000000  
  26.  
  27. Worker: count has reached 7000000  
  28.  
  29. Worker: count has reached 8000000  
  30.  
  31. Worker Thread Finished  
  32.  
  33. Main Thread: count has reached 2000000  
  34.  
  35. Main Thread: count has reached 3000000  
  36.  
  37. Main Thread: count has reached 4000000  
  38.  
  39. Main Thread: count has reached 5000000  
  40.  
  41. Main Thread: count has reached 6000000  
  42.  
  43. Main Thread: count has reached 7000000  
  44.  
  45. Main Thread: count has reached 8000000  
  46.  
  47. Main Thread Finished 

這說明,當(dāng)工作線程的優(yōu)先級為AboveNormal時,一旦工作線程被啟動,主線程就不再運行。

C#線程優(yōu)先級的相關(guān)內(nèi)容就向你介紹到這里,希望對你了解和學(xué)習(xí)C#線程優(yōu)先級有所幫助。

【編輯推薦】

  1. C#線程類的定義實例解析
  2. 判斷線程運行狀態(tài)的兩種方法
  3. C#線程學(xué)習(xí)的一點體會和總結(jié)
  4. C#多線程學(xué)習(xí)經(jīng)驗小結(jié)
  5. C#線程控制淺析
責(zé)任編輯:仲衡 來源: tzwhx.com
相關(guān)推薦

2009-08-12 13:07:13

C#運算符優(yōu)先級

2024-12-03 00:44:50

2010-03-18 14:09:20

Java線程同步

2025-02-03 08:23:33

2009-08-12 18:04:44

編寫C#多線程

2009-08-28 16:51:32

C#線程控制

2012-08-14 09:38:29

WAN優(yōu)化

2020-06-04 08:36:55

Linux內(nèi)核線程

2009-08-28 15:57:56

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

2022-12-23 09:41:14

優(yōu)先級反轉(zhuǎn)

2023-06-30 19:44:56

CPU調(diào)頻線程

2024-05-20 10:03:15

線程池優(yōu)先級隊列排序方法

2022-06-02 09:29:55

線程組線程樹狀結(jié)構(gòu)

2010-09-01 14:10:36

CSS優(yōu)先級

2010-08-31 11:04:48

CSS優(yōu)先級

2010-09-13 17:30:07

CSS優(yōu)先級

2009-08-14 17:45:52

C# ArrayLis

2009-08-17 18:34:50

C# ChangeCo

2021-04-06 10:45:18

React前端優(yōu)先級

2009-08-07 17:25:37

C# SortedLi
點贊
收藏

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