毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> 嵌入式 >> 正文

OS_PRIO_SELF如何定义优先级

更新时间:2012-10-22:  来源:毕业论文

#define OS_PRIO_SELF 0xFF /* Indicate SELF priority */

为什么能够这样定义呢? 标志自己的优先级

如果我的优先级不是0XFF 是23 22 21?这个怎么能代替当前任务的优先级呢?

不解......

希望哪位帮我解惑下.....
 
在线程中加 CeSetThreadPriority(GetCurrentThread(), 优先级别);
想设多少就设多少

可能是我提问问的不清楚
#define OS_PRIO_SELF 0xFF /* Indicate SELF priority */

 if (prio >= OS_LOWEST_PRIO && prio != OS_PRIO_SELF) //****************1)
  {  
  return (OS_PRIO_INVALID); //****************2)
  }
1).判断优先级是否有效,如果prio >= OS_LOWEST_PRIO 优先级>=最低优先级(包括了0xff即 OS_PRIO_SELF)且prio != OS_PRIO_SELF 优先级不是自己当前优先级(去掉了自己优先级)
2).那么返回优先级无效
这里OS_PRIO_SELF 代表了任务当前优先级.... 不理解...

是这样的,由于任务的优先级是从0到63,而不可能是0xFF,那么在任务中调用函数时,用OS_PRIO_SELF 作为参数,在函数里就要进行判断,如果参数是OS_PRIO_SELF ,那么就会重新求函数真正的优先级,所以你看几个任务管理的函数,用到OS_PRIO_SELF的都有这么一句:if (prio == OS_PRIO_SELF )  
 prio = OSTCBCur->OSTCBPrio;

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。