デッドロックとは

デッドロック

デッドロックとは、複数のプロセスが互いに相手の処理が終わるのを待ち続けてしまい、どの処理も先に進めなくなる状態のことです。

主に、複数のプロセスが共有資源を利用するシステムで発生します。

例えば、プロセスAが資源Xを使用しながら資源Yの解放を待ち、同時にプロセスBが資源Yを使用しながら資源Xの解放を待っている状況を考えてみましょう。

どちらのプロセスも相手が持っている資源を必要としているため、お互いに待ち続けることになり、処理が停止してしまいます。

これがデッドロックです。

デッドロックが発生すると、システムの処理効率が低下したり、一部の機能が利用できなくなったりするため、適切な対策が必要です。

代表的な対策として、複数のプロセスが資源を取得する順番を統一する方法があります。

ITパスポート試験で覚えるポイントは、「デッドロックは複数のプロセスが互いに資源の解放を待ち続け、処理が進まなくなる状態であること」です。

また、発生防止策として「資源の取得順序を統一する」ことも頻出ポイントなので、あわせて覚えておきましょう。

こちらもご覧ください:排他制御とは

Rate this post
Visited 6 times, 6 visit(s) today