デッドロック
2022-08-25 (木) 08:13:04
デッドロック †
- 共有資源を複数のプロセスが使用する際に、双方が排他的に使用してお互いに使い終わるのを待ち永遠に解放されなくなる状態
デッドロック対策 †
事後的な対策 †
- 資源グラフを使ってデッドロックを検知して、検知したデッドロックの片方のタスクを強制終了させる
予防的な対策 †
- 静的防止法
- タスクに対する資源の割当てと解放の順番を事前に決めておく
- あらかじめ共有資源を使用する順番を決めておき、ルールに従って処理するように設計する
- 動的防止法
- 資源の割当て状況に応じてデッドロックにならないように動的に割当てる