あちあち情報局

趣味や日曜プログラムなどを書いています

ユーザ用ツール

サイト用ツール


php_lock

差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
php_lock [2018/11/28 09:18]
管理者 [flockを使わない方法]
php_lock [2019/01/01 10:20] (現在)
管理者 [注意]
ライン 1: ライン 1:
 ====== PHP ファイルロック(下書) ====== ====== PHP ファイルロック(下書) ======
-同時に複数のユーザーが1つのファイルに対して書き込みできる場合、作業中のファイルに対して他のユーザーが読み書きを行うとファイル破損や読み取れないなどのトラブルが発生するので、その制御をファイルロックや排他制御と言います。+1つのファイルに対して多人数が同時に書き込みを行うと処理が喧嘩してファイル破損するので、同時に処理できないよう「一人目以外は拒否」または「一人ずつ順番に処理を行う」制御する仕組みをファイルロックと言います。 
  
 ===== flock ===== ===== flock =====
ライン 115: ライン 116:
  
 </​code>​ </​code>​
 +
 +===== 注意 =====
 +ファイルロックは排他制御とも言われますがファイル破損を防止する機能しかないので、処理する内容によっては排他制御が不完全となります。
 +
 +例えば一人目と二人目の文書が反目するような場合を競合状態と言いますが、ファイルロックでは単純に「一人目以外は拒否」なら先に処理した方が勝ち「一人ずつ順番に処理を行う」なら後に処理した方が勝ち、となるので負けた方の内容がいくら正しくても破棄されます。こういった場合には何らかの方法で競合解決しなければ完全な排他制御とは言えません。
  
  
php_lock.1543364311.txt.gz · 最終更新: 2018/11/28 09:18 by 管理者