• windows系统调用 调度优先级


     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             NULL
    15             );
    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
    ",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 }
  • 相关阅读:
    MyEclipse 使用快捷键
    修改MyEclipse默认的Servlet和jsp代码模板
    设置MyEclipse开发项目时使用的JDK
    65.广搜练习:细胞数目
    65.广搜练习:细胞数目
    61.新的开始(最小生成树)
    61.新的开始(最小生成树)
    66.广搜练习:最少关卡路
    66.广搜练习:最少关卡路
    64.广搜练习跳马问题
  • 原文地址:https://www.cnblogs.com/593213556wuyubao/p/3784470.html
Copyright © 2020-2023  润新知