良く間違えるデッドロック

  • 投稿日:
  • by
  • カテゴリ:



deadlock


計算機用語としては狭い意味です。


専門用語でないばあいは、いろんな意味合いで使えそうです。


コンピュータでの最も簡単なデッドロックは2つの資源をそれぞれ逆順に取得しようとしたときに発生します。


Wikipediaのデッドロック


http://ja.wikipedia.org/wiki/%E3%83%87%E3%83%83%E3%83%89%E3%83%AD%E3%83%83%E3%82%AF


デッドロックというコトバはこれ以外に使うべきではありません。


例えばあるプロセスが自分で取得した資源を再取得しようとして動けなくなることはデッドロックではありません。


例えば通信においてプロトコルの不備によって通信が途絶してしまうことは、プロトコルエラーと呼ぶべきで、デッドロックと呼んではいけないのです。


暗黙的に逆順になることで発生する場合、発生頻度が極端に低くなることがあって、やっかいなわけです。


デッドロックはとくに、場当たり的に



保護すべき資源へのアクセスにやみくもに排他制御を設けること



を繰り返していると、起こりやすいと思います。


設計なき実装のしっぺ返しというわけです。