64,648
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
#include<windows.h>
DWORD WINAPI ThreadIdle(LPVOID lpParam)
{
int i=0;
while(i++<1000)
printf("Idle Thread is running \n");
return 0;
}
DWORD WINAPI ThreadNormal(LPVOID lpParam)
{
int i=0;
while(i++<1000)
printf("Highest Thread is running \n");
return 0;
}
int main(int argc, char* argv[])
{
DWORD dwThreadID;
HANDLE h[2];
h[0]=::CreateThread(NULL,0,ThreadIdle,NULL,CREATE_SUSPENDED,&dwThreadID);
::SetThreadPriority(h[0],THREAD_MODE_BACKGROUND_BEGIN);//新创建线程优先级为THREAD_MODE_BACKGROUND_BEGIN
h[1]=::CreateThread(NULL,0,ThreadNormal,NULL,CREATE_SUSPENDED,&dwThreadID);
::SetThreadPriority(h[1],THREAD_PRIORITY_HIGHEST);//新创建线程优先级为THREAD_PRIORITY_HIGHEST
::ResumeThread(h[0]);//使线程开始运行
::ResumeThread(h[1]);//使线程开始运行
::WaitForMultipleObjects(2,
h,
TRUE,
INFINITE);
::CloseHandle(h[0]);
::CloseHandle(h[1]);
system("pause");
return 0;
}