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++程序设计有所帮助。