win32 线程优先级 SetThreadPriority
2017-07-21 17:16
525 查看
参数说明
hThread 要设置的线程句柄
nPriority 优先级别参数 可设置为一下参数
THREAD_PRIORITY_ABOVE_NORMAL 比一般优先级高一个等级
THREAD_PRIORITY_BELOW_NORMAL 比一般低一个等级
THREAD_PRIORITY_HIGHEST 比一般高2个等级(最高)
THREAD_PRIORITY_IDLE 空闲
THREAD_PRIORITY_LOWEST 比一般低2个等级(最低)
THREAD_PRIORITY_NORMAL 一般等级
THREAD_PRIORITY_TIME_CRITICAL 实时
#include <Windows.h>
#include <iostream>
using namespace std;
DWORD WINAPI ThreadNormal(LPVOID lpParam)
{
int i=0;
while(i++ < 10)
cout<<"Normal Thread is running"<<endl;
return 0;
}
DWORD WINAPI ThreadAboveNormal(LPVOID lpParam)
{
int i=0;
while(i++ < 10)
cout<<"Above Normal Thread is running"<<endl;
return 0;
}
int main()
{
DWORD dwThreadID;
HANDLE hThread[2];
//Create a above Normal Thread
hThread[0] = CreateThread(NULL,0,ThreadAboveNormal,NULL,CREATE_SUSPENDED,&dwThreadID);
//set priority is above normal
SetThreadPriority(hThread[0],THREAD_PRIORITY_ABOVE_NORMAL);
//resume thread
ResumeThread(hThread[0]);
//Create a Normal Thread
hThread[1] = CreateThread(NULL,0,ThreadNormal,NULL,0,&dwThreadID);
//wait two
WaitForMultipleObjects(2,hThread,TRUE,INFINITE);
//close thread
CloseHandle(hThread[0]);
CloseHandle(hThread[1]);
return 0;
}
参数说明
hThread 要设置的线程句柄
nPriority 优先级别参数 可设置为一下参数
THREAD_PRIORITY_ABOVE_NORMAL 比一般优先级高一个等级
THREAD_PRIORITY_BELOW_NORMAL 比一般低一个等级
THREAD_PRIORITY_HIGHEST 比一般高2个等级(最高)
THREAD_PRIORITY_IDLE 空闲
THREAD_PRIORITY_LOWEST 比一般低2个等级(最低)
THREAD_PRIORITY_NORMAL 一般等级
THREAD_PRIORITY_TIME_CRITICAL 实时
#include <Windows.h>
#include <iostream>
using namespace std;
DWORD WINAPI ThreadNormal(LPVOID lpParam)
{
int i=0;
while(i++ < 10)
cout<<"Normal Thread is running"<<endl;
return 0;
}
DWORD WINAPI ThreadAboveNormal(LPVOID lpParam)
{
int i=0;
while(i++ < 10)
cout<<"Above Normal Thread is running"<<endl;
return 0;
}
int main()
{
DWORD dwThreadID;
HANDLE hThread[2];
//Create a above Normal Thread
hThread[0] = CreateThread(NULL,0,ThreadAboveNormal,NULL,CREATE_SUSPENDED,&dwThreadID);
//set priority is above normal
SetThreadPriority(hThread[0],THREAD_PRIORITY_ABOVE_NORMAL);
//resume thread
ResumeThread(hThread[0]);
//Create a Normal Thread
hThread[1] = CreateThread(NULL,0,ThreadNormal,NULL,0,&dwThreadID);
//wait two
WaitForMultipleObjects(2,hThread,TRUE,INFINITE);
//close thread
CloseHandle(hThread[0]);
CloseHandle(hThread[1]);
return 0;
}
相关文章推荐
- SetThreadPriority__win32 线程优先级
- ceSetThreadPriority设置线程的优先级
- ceSetThreadPriority设置线程优先级~!
- 线程优先级SetThreadPriority的使用
- C++线程优先级SetThreadPriority的使用实例
- ARM官方《CMSIS-RTOS教程》之线程的管理和优先级Thread Management and Priority
- 改变线程优先级Change Thread Priority
- What is Java thread priority? 什么是java线程优先级
- android 改变线程优先级Change Thread Priority
- Java并发09:Thread的基本方法(6)-线程优先级priority相关说明与操作
- Windows API一日一练(49)SetThreadPriority和GetThreadPriority函数
- 设置线程名称 - SetThreadName
- Thread.setDaemon() --守护线程
- java 线程的优先级Priority
- 线程概述,优先级,睡眠,创建及终止(VC_Win32)
- Thread.setDaemon守护线程详解
- Windows API一日一练(49)SetThreadPriority和GetThreadPriority函数
- mingw-w64线程模型:posix vs win32(posix允许使用c++11的std:: thread,但要带一个winpthreads,可能需要额外dll)
- 创建后,在命名线程,线程是final标识的,创建时添加线程名,后,还能用final void setName(String threadName);吗?
- Java.线程.Thread类.Runnable接口.start().setDaemon().join()