FreeRTOS之任务优先级设置
- Fang XS.
- 1452512966@qq.com
- 如果有错误,希望被指出,学习技术的路难免会磕磕绊绊,不定时更新
- 关于任务优先级设置
关于任务优先级设置
- 市面上的RTOS都提供了基于优先级抢占调度的机制。
- RTOS开放的优先级设置,让程序员来设置每个任务的优先级。
- RTOS本身不能确定任务处于什么优先级才能最优,所以设置任务的优先级是相当重要的,也比较难,这个问题被研究了几十年。
- 试想:如果一个程序,只有几个任务,那么任务的优先级可以一眼看出来,如果同时有十几个任务,或者几十个任务,那设置优先级的问题就比较复杂了。
- 如果任务优先级设置过高,会对别的任务造成影响。
- 如果任务优先级设置过低,又不能满足自己的需求。
- 我倾向的解决思路
- 任务处理需要时间多的,优先级设置低一些;
- 周期性的任务,优先级设置高一些;
- 紧急任务,优先级最高;
- 同优先级时间片,不同优先级抢占;
- 确定的生产者消费者模型,消费者优先级高于生产者;需要考虑优先级翻转问题;