信号量可以分三种:互斥信号量,二值信号量,计数信号量。
为什么有的书上讲,只有互斥信号量才会有优先级反转问题?
比如,现在有一个计数信号量S,数值为3,有三个低优先级的任务对其执行P(S)操作,此
时信号量的值为0.如果有一个高优先级的任务到来,并且执行P(S),那么此时也将产生优先
级反转问题。我觉得此时可以将三个低优先级任务中的一个提升到高优先级。
所以,我觉得信号量都会产生优先级反转问题,而不仅仅是互斥信号量,因为他们之间的区
别仅仅是初始值不同。不知我的理解是否有错误?
如果没记错的话,互斥信号量应该就是二值信号量吧? 你的理解是没错的,只要一个信号量为0了,而有比占有它的那个任务的优先级更高的一个任务要使用它,那么就会发生优先级反转
这“有的书”是不是明确表达了“计数信号量不会产生优先级反转”这个意思?
学习学习学习。。。。。。。。。。。。。。。。。。。。。。。。。。。。