windows系統調用 調度優先順序

來源:互聯網
上載者:User

標籤:style   class   blog   code   java   http   

 1 #include "iostream" 2 #include "windows.h" 3 using namespace std; 4  5 class CWorkerThread{ 6 public: 7     CWorkerThread(LPCTSTR m_szName):m_szName(m_szName),m_hThread(INVALID_HANDLE_VALUE){ 8         m_hThread=CreateThread( 9             NULL,10             0,11             ThreadProc,12             reinterpret_cast<LPVOID>(this),13             0,14             NULL15             );16     }17 18     virtual ~CWorkerThread(){CloseHandle(m_hThread);}19 20     virtual void WaitForCompletion(){21         WaitForSingleObject(m_hThread,INFINITE);22     }23 24     virtual void SetPriority(int nPriority){25         SetThreadPriority(m_hThread,nPriority);    26     }27 28     virtual void Suspend(){29         SuspendThread(m_hThread);30     }31 32     virtual void Resume(){33         ResumeThread(m_hThread);34     }35 36 protected:37     static DWORD WINAPI ThreadProc(LPVOID lpParam){38         CWorkerThread *pThis=39             reinterpret_cast<CWorkerThread*>(lpParam);40 41         pThis->DoStuff();42         return (0);43     }44 45     virtual void DoStuff(){46         for(int n=0;n<100;n++){47             printf("Thread %s ID:%d,count %d\n",m_szName,GetCurrentThreadId(),n);48         }49     }50 51 protected:52     HANDLE m_hThread;53     LPCTSTR m_szName;54 };55 56 void main(){57     58     CWorkerThread wtB("B");59     CWorkerThread wtA("A");60     wtA.SetPriority(THREAD_PRIORITY_LOWEST);61 62 63     wtA.WaitForCompletion();64     wtB.WaitForCompletion();65 66     cout<<"Both threads complete."<<endl;67 68     getchar();69 }

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.