C++スレッド優先度SetThreadPriorityの使用例

1698 ワード

この例では、C++スレッド優先度SetThreadPriorityの使用方法について説明し、参考にしてください.具体的な方法は以下の通りです.

   // ThreadPriority.cpp :              。  
  
// 
 
#include "stdafx.h" 
#include  
 
DWORD WINAPI ThreadProcIdle(LPVOID lpParameter) 

    for (int i=0;i<20;i++) 
    { 
        printf("I'm in thread IDLE...
"); 
    } 
    return 0; 

 
DWORD WINAPI ThreadProcNormal(LPVOID lpParameter) 

    for (int i=0;i<20;i++) 
    { 
        printf("I'm in thread Normal...
"); 
    } 
    return 0; 

 
 
int _tmain(int argc, _TCHAR* argv[]) 

    DWORD dwThreadIdIdle; 
    DWORD dwThreadIdNormal; 
    HANDLE hThread[2]; 
    //  
    hThread[0] = ::CreateThread(NULL,0, ThreadProcIdle, NULL, CREATE_SUSPENDED, &dwThreadIdIdle); 
    ::SetThreadPriority(hThread[0],THREAD_PRIORITY_IDLE); 
    ::ResumeThread(hThread[0]); 
 
    hThread[1] = ::CreateThread(NULL,0, ThreadProcNormal, NULL, CREATE_SUSPENDED, &dwThreadIdNormal); 
    ::SetThreadPriority(hThread[1],THREAD_PRIORITY_NORMAL); 
    ::ResumeThread(hThread[1]); 
 
    //  
    ::WaitForMultipleObjects(2,hThread,TRUE,INFINITE); 
    ::CloseHandle(hThread[0]); 
    ::CloseHandle(hThread[1]); 
    return 0; 
}

本稿で述べたことが皆さんのC++プログラム設計に役立つことを願っています.