zoukankan      html  css  js  c++  java
  • RTOS优先级翻转

      在使用二值信号量的时候,会出现低优先级任务获取二值信号量,但二值信号量还没释放时,高优先级任务需要获取二值信号量,这时二值信号量已经被低优先级任务获取,高优先级任务只能挂起,如果这时有一个中优先级任务响应,就会出现中优先级任务响应而高优先级任务不被响应。这种中优先级任务比高优先级任务先响应的现象就是优先级翻转。

      高优先级任务被低优先级任务阻塞,导致高优先级任务迟迟得不到调度。但其他中等优先级的任务却能抢到CPU资源。-- 从现象上来看,好像是中优先级的任务比高优先级任务具有更高的优先权。

      解决优先级翻转的方法是使用互斥信号量。

      互斥信号量中使用了优先级继承。也就是说在高优先级获取一个已经被低优先级获取了的互斥信号量时,会把低优先级的任务的优先级提升到和高优先级任务的优先级一个级别,这样低优先级就可以得到执行,等低优先级的任务执行完毕释放掉互斥信号量,高优先级就可以得到执行。

  • 相关阅读:
    OpenCv 109---Blob分析
    OpenCv 013---图像的翻转
    OpenCv 012---视频文件读写
    MenuExample
    OpenCv 011---像素归一化
    OpenCv 010---图像像素值统计
    OpenCv 009---色彩空间与色彩空间转换
    OpenCv 008---通道分离与合并
    OpenCv 007---像素操作的逻辑操作
    OpenCv 006---LUT的作用与用法
  • 原文地址:https://www.cnblogs.com/qingyunboke/p/12829400.html
Copyright © 2011-2022 走看看