デッドロックってバグだよね?

デッドロック-wikipedia


CakePHPフォーラムを見てたら、排他制御についてのスレが立ってた。
php排他制御をやる場合は、自前でクリティカルセクションを作らんといかん。
google先生で調べてみたら

deadlock は、バグではありません。1つのデータベースを複数のアプリケーションで使う場合、確率的に発生する可能性があります。可能性を減らすように実装するのは当然ですが。
これは、RDBMSを使用する以上、避けて通れない問題です。

という書き込みをMSN相談箱で見つけた。


デッドロックってバグだよね?
確実に防げるよね?


私はphp排他制御をする場合、
ディレクトリ作成法*1を使うのだけども、
CakePHPのフォーラムとか見てると
PHPユーザの中には排他制御もロクに知らない人がいるような気がしてならない。
Webアプリの基本だとおもうのだけども。。

*1:1.ディレクトリがあるかどうかの判断(あれば待機)→2.作成→3.処理→4.ディレクトリ削除。で排他制御を行う方法。 phpではmkdirで1,2が同時にできるのでファイルを用いる方法より安全。なはず