C++线程优先级SetThreadPriority的使用实例
本文实例讲述了C++线程优先级SetThreadPriority的使用方法,分享给大家供大家参考。具体方法如下:
//ThreadPriority.cpp:定义控制台应用程序的入口点。
//
#include"stdafx.h"
#include<Windows.h>
DWORDWINAPIThreadProcIdle(LPVOIDlpParameter)
{
for(inti=0;i<20;i++)
{
printf("I'minthreadIDLE...\n");
}
return0;
}
DWORDWINAPIThreadProcNormal(LPVOIDlpParameter)
{
for(inti=0;i<20;i++)
{
printf("I'minthreadNormal...\n");
}
return0;
}
int_tmain(intargc,_TCHAR*argv[])
{
DWORDdwThreadIdIdle;
DWORDdwThreadIdNormal;
HANDLEhThread[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]);
return0;
}
希望本文所述对大家的C++程序设计有所帮助。