优先级翻转

参考文档

简介

涉及到三个任务

  • A 10 需要获取资源锁 t
  • B 20 无需获取资源锁
  • C 30 需要获取资源锁 t
    在某一时刻,线程A获得资源锁,进行执行;
  • 在A获得锁期间,任务B准备就绪,由于其优先级较高因此可以抢占A进行运行;
    • 在B运行期间,C准备就绪开始运行,但是由于C也要获取资源锁t,而且此时t已经被锁住,因此C只得让出CPU
      • 之后B重新获得CPU进行执行

可以看到,高优先级的C给A让出执行很正常,因为它要等待资源锁释放;但是C竟然把CPU让给了不需要锁的,中优先级的任务B

  • 这就是优先级翻转

优先级翻转
http://example.com/2024/08/30/嵌入式-开发/优先级翻转/
作者
Cyokeo
发布于
2024年8月30日
许可协议