特黄特色三级在线观看免费,看黄色片子免费,色综合久,欧美在线视频看看,高潮胡言乱语对白刺激国产,伊人网成人,中文字幕亚洲一碰就硬老熟妇

學習啦 > 學習電腦 > 電腦硬件知識 > CPU知識 > 多線程執(zhí)行CPU過高問題

多線程執(zhí)行CPU過高問題

時間: 捷鋒774 分享

多線程執(zhí)行CPU過高問題

  在項目開發(fā)過程中使用到多線程技術,有時程序運行起來占用CPU很高(具體占用多少,跟你的CPU核數(shù)有關。CPU過高的問題,CPU多線程的問題,下面是學習啦小編帶來的關于多線程執(zhí)行CPU過高問題的內容,歡迎閱讀!

  多線程執(zhí)行CPU過高問題:

  CPU占用高不高,跟你的線程數(shù)多少沒有太多的影響。因為若你CPU是雙核,即使只創(chuàng)建了2個子線程,而這兩個子線程是2個死循環(huán),此時你的CPU占用也會是相當?shù)母叩摹?/p>

  不信的可以直接試試。

  CPU占用高不高也不能只看本程序運行起來的CPU占用率,因為若是你的程序使用了內核對象的調用,那么在任務管理器中你會看到你的程序占用CPU是不高的,但使用到內核對象在內核調用中的那些服務程序就會顯示CPU占用高。

[cpp]view plain?
  1. int _tmain(int argc, _TCHAR* argv[])  
  2. {  
  3.     InitializeCriticalSection(&m_gCriticalSection);  
  4.     //一個線程最多可以掛起 MAXIMUM_SUSPEND_COUNT次,即127次  
  5.     //線程1  
  6.     unsigned threadID;  
  7.     hThread1 = (HANDLE)_beginthreadex(NULL, 0, ThreadProc1, NULL, 0, &threadID);  
  8.       
  9.     //線程2  
  10.     unsigned threadID2;  
  11.     hThread2 = (HANDLE)_beginthreadex(NULL, 0, ThreadProc2, NULL, 0, &threadID2);  
[cpp] view plain?
  1. return 0;  
[cpp] view plain?
  1. unsigned __stdcall ThreadProc1(void* pParam)  
  2. {  
  3.     //打印數(shù)字iCount  
  4.     if(0 == m_gCount)  
  5.     {  
  6.         Sleep(2000);  
  7.     }  
  8.   
  9.     while(1)  
  10.     {  
  11.         EnterCriticalSection(&m_gCriticalSection);  
  12.         m_gCount++;  
  13.         <span string">"color:#ff0000;">cout << "線程一:" << m_gCount << endl; //兩個線程函數(shù)中的的這句不注釋掉,該程序在任務管理中顯示占用的CPU是不高的,但內核調用占用CPU很高</span>  
[cpp] view plain?
  1. <span string">"color:#ff0000;">                       //若是注釋掉,則程序在任務管理器中顯示占用的CPU就會很高  
  2. </span>       LeaveCriticalSection(&m_gCriticalSection);  
  3.           
  4.         //Sleep(1000);  
  5.     }  
  6.   
  7.     return 0;  
  8. }  
  9.   
  10. unsigned __stdcall ThreadProc2(void* pParam)  
  11. {  
  12.     //打印數(shù)字iCount  
  13.     while(1)  
  14.     {  
  15.         EnterCriticalSection(&m_gCriticalSection);  
  16.         m_gCount++;  
  17.         <span string">"color:#ff0000;">cout << "另一線程:" << m_gCount << endl;   
  18. </span>       LeaveCriticalSection(&m_gCriticalSection);  
  19.           
  20.         //Sleep(1000);  
  21.     }  
  22.   
  23.     return 0;  
  24. }  

看了多線程執(zhí)行CPU過高問題文章內容的人還看:

1.CPU專業(yè)名詞詳解

2.cpu雙核心四線程什么意思

3.cpu線程數(shù)是什么

4.CPU的好壞

5.CPU的處理技術有哪些

6.C#習題大全(2)

7.怎么看cpu好壞

8.CPU怎么查看


 

608919