在实时系统中是不允许出现这种现象的,这样会破坏任务的预期顺序,导致严重后果。
优先级反转是因为需要的信号量请求不到导致的。本来优先级高,但是信号量被优先级低的任务占用。
解决办法是将需要占用信号量的任务的优先级临时提升->互斥信号量。
函数名
作用
OSMutexCreate()
建立一个互斥信号量
OSMutexDel()
删除一个互斥信号量
OSMutexPend()
等待一个互斥信号量
OSMutexPendAbrot()
取消等待
OSMutexPost()
释放或者发布一个互斥信号量