When a lower-priority thread holds a shared resource needed by a higher-priority thread, the real-time controller implements priority inheritance by temporarily increasing the priority of the thread holding the shared resource so that the resource can return promptly to the higher-priority thread.
Priority inheritance helps prevent priority inversion, which is when threads of lower priority indirectly preempt threads of higher priority.