日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
C#線程優(yōu)先級淺析

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

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

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

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

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

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

 
 
 
  1. ThreadPlayaroundWithPriorities
  2. Interval to display results at> 1000000
  3. Starting thread: Main Thread
  4. Main Thread: Current Culture = en-US
  5. Starting thread: Worker
  6. Worker: Current Culture = en-US
  7. Main Thread: count has reached 1000000
  8. Worker: count has reached 1000000
  9. Worker: count has reached 2000000
  10. Worker: count has reached 3000000
  11. Worker: count has reached 4000000
  12. Worker: count has reached 5000000
  13. Worker: count has reached 6000000
  14. Worker: count has reached 7000000
  15. Worker: count has reached 8000000
  16. Worker Thread Finished
  17. Main Thread: count has reached 2000000
  18. Main Thread: count has reached 3000000
  19. Main Thread: count has reached 4000000
  20. Main Thread: count has reached 5000000
  21. Main Thread: count has reached 6000000
  22. Main Thread: count has reached 7000000
  23. Main Thread: count has reached 8000000
  24. Main Thread Finished

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

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


標(biāo)題名稱:C#線程優(yōu)先級淺析
URL鏈接:http://m.5511xx.com/article/cosgpdc.html