目录
互斥量的特点
具体代码解析
互斥量的特点
互斥量比信号量多一个优先级继承:当低优先级的任务获取某个信号后,中优先级的任务运行,随后高优先级的运行,高优先级的任务需要的信号量被低优先级的任务获取,所以高优先级的任务就会休眠,中优先级的任务一直运行,低优先级的任务获取的信号量,没法释放所以高优先级也不能运行。
采用互斥量解决这个问题,当低优先级的任务获取了高优先级所需要的信号时,则低优先级就会继承高优先级的优先级,当信号量被释放的时候低优先级就会变成低优先级。
![](https://i-blog.csdnimg.cn/blog_migrate/3f6d1313013988269a354855f051a9a9.png)
具体代码解析
提升优先级:
![](https://i-blog.csdnimg.cn/blog_migrate/e304343d3b645c0826f721a38fbe85c9.png)
![](https://i-blog.csdnimg.cn/blog_migrate/16b595e6f72471a2fcd15494669a9b69.png)
恢复优先级:
![](https://i-blog.csdnimg.cn/blog_migrate/a2be10845097aa052df4a215307f0149.png)