#include <stdio.h>
#include <windows.h>
DWORD WINAPI ThreadProc(LPVOID lpParameter);
int main( void )
{
HANDLE Thread=CreateThread(NULL,NULL,ThreadProc,NULL,CREATE_SUSPENDED ,NULL);
//设置线程优先级
SetThreadPriority(Thread,THREAD_PRIORITY_TIME_CRITICAL);
ResumeThread(Thread);
SuspendThread(Thread);
ResumeThread(Thread);
//获取线程优先级
switch (GetThreadPriority(Thread))
{
case THREAD_PRIORITY_TIME_CRITICAL:
{
printf("THREAD_PRIORITY_TIME_CRITICAL\n");
}
break;
case THREAD_PRIORITY_HIGHEST:
{
printf("THREAD_PRIORITY_HIGHEST\n");
}
break;
case THREAD_PRIORITY_ABOVE_NORMAL:
{
printf("THREAD_PRIORITY_ABOVE_NORMAL\n");
}
break;
case THREAD_PRIORITY_NORMAL:
{
printf("THREAD_PRIORITY_NORMAL\n");
}
break;
case THREAD_PRIORITY_BELOW_NORMAL:
{
printf("THREAD_PRIORITY_BELOW_NORMAL\n");
}
break;
case THREAD_PRIORITY_LOWEST:
{
printf("THREAD_PRIORITY_LOWEST\n");
}
break;
case THREAD_PRIORITY_IDLE:
{
printf("THREAD_PRIORITY_IDLE\n");
}
break;
default:
printf("default\n");
}
getchar();
CloseHandle(Thread);
return 0;
}
DWORD WINAPI ThreadProc( LPVOID lpParameter )
{
printf("哈哈\n");
getchar();
return true;
}
/*
idle (最低)THREAD_PRIORITY_IDLE 如果进程优先级为realtime则调整为16,其它情况为1
LOWEST 低 THREAD_PRIORITY_LOWEST -2(在原有基础上-2)
BELOW 低于标准 THREAD_PRIORITY_BELOW_NORMAL -1(在原有基础上-1)
NORMAL(标准) THREAD_PRIORITY_NORMAL 不变(取进程优先级值)
ABOVE 高于标准 THREAD_PRIORITY_ABOVE_NORMAL +1(在原有基础上+1)
HIGHEST (高) THREAD_PRIORITY_HIGHEST +2(在原有基础上+2)
CRITICAL(最高) THREAD_PRIORITY_TIME_CRITICAL 如果进程优先级为realtime则调整为31,其它情况为15
*/
SetThreadPriority
最新推荐文章于 2024-01-21 23:22:01 发布