優先順位逆転の例。 3つのタスク J1, J2, J3 の優先順位は、J1 が最高で J3 が最低。 1. J3 がセマフォ S1 を占有する。その後、より優先順位の高い J1 の実行が始まり、J3 は一時停止する(実行可能状態)。 2. J1 が S1 の解放待ちのためブロック状態となり一次停止する。直ちに J3 の処理が再開されて S1 が解放され、定められた時間内に J1 の処理に戻るのであれば、このブロックは問題にはならない。しかし、図では J3 より優先順位の高いタスク J2 の実行がまず先に開始されている。 3. J2 の実行後、J3 の実行が再開され、S1 が解放される。J1 はこの時点でようやく S1 を占有し、実行を継続できるようになる。 つまり、セマフォ S1 と全く関係の無いタスク J2 が S1 の解放を妨げてしまい、結果としてより優先順位の高い J1 の実行をも妨
![優先順位の逆転 - Wikipedia](https://cdn-ak-scissors.b.st-hatena.com/image/square/56759c35e9da8794997c5b4158a20ed17089ce9f/height=288;version=1;width=512/https%3A%2F%2Fupload.wikimedia.org%2Fwikipedia%2Fcommons%2F1%2F1d%2FPriority_Inversion.png)