百科问答小站 logo
百科问答小站 font logo



VxWorks任务调度问题? 第1页

  

user avatar   bei-ji-85 网友的相关建议: 
      

VxWorks默认不开时间片轮转调度,你while循环里要是没有能触发调度的机制(semTake、taskDelay等),那么优先级相同的情况下另外一个任务可能永远得不到调度。

解决的方法:

1. 在while循环里加taskDelay(0)可以触发调度。

2. 把时间片调度加上,组件是INCLUDE_CUSTOM_SCHEDULER,但只加这个是不行的,需要改代码,在usrCustomSchedulerInit函数的说明里是有。

-----------------

把重点部分加粗,现在都能看明白了吧,这种行为不影响优先级不同的情况下的抢占,只影响相同优先级的任务。




  

相关话题

  VxWorks任务调度问题? 
  VxWorks任务调度问题? 
  VxWorks 7相对于6系列是否值得升级? 
  VxWorks 7相对于6系列是否值得升级? 
  如果用VxWorks内核和Mips架构开发专用硬件防火墙是否性能上会比宏内核OS和CISC架构更强? 
  关于vxworks6.9 bootrom的问题? 
  关于vxworks6.9 bootrom的问题? 
  VxWorks任务调度问题? 
  VxWorks任务调度问题? 
  VxWorks和Linux的C++开发差别有多大? 

前一个讨论
能不能用一次性车厢解决春运问题?
下一个讨论
VxWorks和Linux的C++开发差别有多大?





© 2024-12-18 - tinynew.org. All Rights Reserved.
© 2024-12-18 - tinynew.org. 保留所有权利