码迷,mamicode.com
首页 > Windows程序 > 详细

Windows API一日一练 49 SetThreadPriority和GetThreadPriority函数

时间:2019-02-01 21:55:29      阅读:232      评论:0      收藏:0      [点我收藏+]

标签:分享   处理   sdn   幽默   音乐   int   数据   多任务   选择   

Windows是抢先式执行任务的操作系统,无论进程还是线程都具有优先级的选择执行方式,这样就可以让用户更加方便处理多任务。比如当你一边听着音乐,一边上网时,这时就可以把音乐的任务执行级别高一点,这样不让音乐听起来断断续续。当你编写网络程序时,一个线程从网络接收数据,一个线程写数据到硬盘,这时也可以把网络接收线程的优先级设置高一点,因为可以把接收到的数据写到内存里去,然后缓存起来再写到硬盘里。还有一种任务,当你写的程序需要在空闲时才去执行,这时就需设置线程的优先级。这样就使用到SetThreadPriorityGetThreadPriority函数来设置线程的优先级和获取线程的优先级。
 
函数SetThreadPriorityGetThreadPriority声明如下:
BOOL
WINAPI
SetThreadPriority(
    __in HANDLE hThread,
    __in int nPriority
    );
hThread是线程的句柄。
nPriority是线程的优先级。
 
 
  
WINBASEAPI
int
WINAPI
GetThreadPriority(
    __in HANDLE hThread
    );
hThread是线程的句柄。
返回值是线程的优先级。
 
调用函数的例子如下:
#001 //设置线程的优先级和获取线程的优先级。
#002  //蔡军生 2007/10/11 QQ:9073204 深圳
#003  void ThreadPriority(void)
#004  {
#005         //
#006        ::SetThreadPriority(m_hThread,THREAD_PRIORITY_HIGHEST);
#007 
#008         //
#009        if (::GetThreadPriority(m_hThread) == THREAD_PRIORITY_HIGHEST)
#010         {
#011               //
#012               OutputDebugString(_T("THREAD_PRIORITY_HIGHEST/r/n"));
#013         }
#014 
#015  }
 
 

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

Windows API一日一练 49 SetThreadPriority和GetThreadPriority函数

标签:分享   处理   sdn   幽默   音乐   int   数据   多任务   选择   

原文地址:https://www.cnblogs.com/skiwnchh/p/10346987.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!