• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ロックファイルの確実性について)

ロックファイルの確実性について

このQ&Aのポイント
  • ロックファイルの確実性について考えてみましょう。カウンタなどを作る際、データを保存するファイルを2重にアクセスできないようにするためには、ロックファイルを使用するのが一般的です。
  • しかし、単にロックファイルを作るだけでは、頻繁な2重アクセスが発生してしまうことがあります。実際に運営しているページでも、3日に1回は壊れることがあるのです。
  • ロックディレクトリを使用する方法もありますが、こちらでも2重アクセスが発生することがあります。その確率は、ロックファイルと同程度のレベルでしょうか。また、同じ名前のディレクトリが2つ存在する可能性もあるのですか?

質問者が選んだベストアンサー

  • ベストアンサー
  • leaz024
  • ベストアンサー率75% (398/526)
回答No.2

下記のページが、非常に参考になります。 (左記:とほほのWWW入門、右記:大崎博基氏のHP) なぜ壊れてしまうのか、については左記のHPを、 壊れない方法については両方のHPを参考にしてみてください。 1000Page/day程度のアクセスで壊れることはなくなるでしょう。

参考URL:
http://tohoho.wakusei.ne.jp/wwwcgi8.htm , http://www.din.or.jp/~ohzaki/perl.htm#File_Lock
posha
質問者

お礼

ありがとうございます! さっそく参照してみたところ、期待していた以上の情報を得ることが できました。おそらくは何の問題もなくロックできそうな気がします。 こんなとびっきりの情報をいただいておきながらナンですが、 万が一のためにも、今日いっぱいだけ受け付けさせてください。

その他の回答 (1)

  • alfeim
  • ベストアンサー率58% (114/195)
回答No.1

ファイルのオープン時は、多分 ・lockfileの生成 ・データファイルのオープン ・lockfileがあるかを判別し、条件分岐 という順番で手続きを取っていると思いますが、ファイルクローズ時はどういう順番で閉じられてますか? 補足お願いします

posha
質問者

補足

全体の流れとしては、 1) ロックファイルについての条件分岐 2) ロックファイルの生成 3) データファイルのオープン 4) データ読み出し&処理 5) データファイルへの書き込み 6) データファイルクローズ 7) ロックファイル消去 の順番で行っています。 ご指摘のように、ロックファイル生成の後で ロックファイルがあるかどうかを判別するのは、 アルゴリズム的に矛盾があったりしませんか?

関連するQ&A