この文書の現在のバージョンと選択したバージョンの差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
php_lock [2019/01/01 09:07] 管理者 [PHP ファイルロック(下書)] |
php_lock [2019/01/01 10:20] (現在) 管理者 [注意] |
||
---|---|---|---|
ライン 1: | ライン 1: | ||
====== PHP ファイルロック(下書) ====== | ====== PHP ファイルロック(下書) ====== | ||
- | 1つのファイルに対して多人数が同時に書き込みを行うと処理が喧嘩してファイル破損する事があるので同時に処理できないよう制御する仕組みをファイルロックや排他制御と言います。 | + | 1つのファイルに対して多人数が同時に書き込みを行うと処理が喧嘩してファイル破損するので、同時に処理できないよう「一人目以外は拒否」または「一人ずつ順番に処理を行う」制御する仕組みをファイルロックと言います。 |
ライン 116: | ライン 116: | ||
</code> | </code> | ||
+ | |||
+ | ===== 注意 ===== | ||
+ | ファイルロックは排他制御とも言われますがファイル破損を防止する機能しかないので、処理する内容によっては排他制御が不完全となります。 | ||
+ | |||
+ | 例えば一人目と二人目の文書が反目するような場合を競合状態と言いますが、ファイルロックでは単純に「一人目以外は拒否」なら先に処理した方が勝ち「一人ずつ順番に処理を行う」なら後に処理した方が勝ち、となるので負けた方の内容がいくら正しくても破棄されます。こういった場合には何らかの方法で競合解決しなければ完全な排他制御とは言えません。 | ||