目前系统设计三个线程,一个优先级最高。
如果高优先级任务不自己主动sleep 或者waiting。除了优先级继承这种情况以外,还有哪些情况,低优先级的任务会获得CPU控制权,并开始运行??
------解决方案--------------------------------------------------------
真不清楚,貌似不行的吧
------解决方案--------------------------------------------------------
1.自己运行异常,挂起
2.阻塞等待资源而被阻塞,这跟挂起不是一个概念啊
------解决方案--------------------------------------------------------
如果你想要低优先级任务也能运行,又想高优先级任务不自己主动sleep 或者waiting,可以用信号量(semTake)或队列(msgQReceive)进行阻塞调用
------解决方案--------------------------------------------------------
阻塞或者taskDelay都可以让高优先级任务释放CPU的,然后低优先级任务就可以获取CPU了