当前位置: 代码迷 >> VxWorks >> 如若VXWORKS高优先级任务获取CPU后,什么情况下会挂起
  详细解决方案

如若VXWORKS高优先级任务获取CPU后,什么情况下会挂起

热度:324   发布时间:2016-04-28 11:28:56.0
如果VXWORKS高优先级任务获取CPU后,什么情况下会挂起?
   目前系统设计三个线程,一个优先级最高。
  如果高优先级任务不自己主动sleep 或者waiting。除了优先级继承这种情况以外,还有哪些情况,低优先级的任务会获得CPU控制权,并开始运行??


------解决方案--------------------
真不清楚,貌似不行的吧
------解决方案--------------------
1.自己运行异常,挂起
2.阻塞等待资源而被阻塞,这跟挂起不是一个概念啊
------解决方案--------------------
如果你想要低优先级任务也能运行,又想高优先级任务不自己主动sleep 或者waiting,可以用信号量(semTake)或队列(msgQReceive)进行阻塞调用
------解决方案--------------------
阻塞或者taskDelay都可以让高优先级任务释放CPU的,然后低优先级任务就可以获取CPU了
  相关解决方案