互斥量又称互斥型信号量,是一种特殊的二值信号量。即只有开锁、闭锁状态。当一个线程占用这个互斥量时,另外的线程需等待互斥量的释放。适用于资源互锁,任务同步。
它与信号量不同的是:
在RT-Thread中,为了降低优先级反转问题,利用了优先级继承算法。
优先级继承算法:当使用互斥量的线程优先级比较低,而等待互斥量信号线程中的最高优先级比前者高时,运行的线程则会提高优先级。优先运行。
与信号量相同的是:
1,创建时,线程阻塞排序均可以选择优先级 or FIFO方式。
2,线程阻塞时间均可以选择直接返回、挂起一段时间、永久等待。
使用互斥量的好处:
在多线程的系统中,适当使用互斥量,可以使系统实时性更高,因为它内部有优先级继承算法。