【Perl】ファイルロック(排他処理)について語ろうat PHP【Perl】ファイルロック(排他処理)について語ろう - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト71:「このサイトの人」 02/06/26 23:51 uIGx/rWA >>68 あれ? >プロセスA:作成時間が10分以上前と判断して処理を次へ渡す と >プロセスA:$lockdir2が存在するからリネーム成功 の間には他のプロセスは割り込めませんよ。 リネームを試みる前には$lockdir2がプロセスB等他を弾きます。 プロセスAがリネームを試みるのは一度だけ。 ●作成時間が10分以上前の場合 プロセスA:ロックディレクトリ1に阻まれる(排他される) プロセスA:ロックディレクトリ2を作成(排他) プロセスA:作成時間が10分以上前と判断 プロセスA:$lockdir2が存在するからリネーム(ロックディレクトリ2をロックディレクトリ1に変換)(排他終了) →プロセスBが割り込めるとしたらここだけ。しかもリネームが失敗した場合。 プロセスA:そのままロックに守られ排他が必要な処理 プロセスA:ロックディレクトリ1を消す で、$lockdir2 が消え$lockdirが更新されない、というrename失敗 (こんなのあるの?)の場合だけプロセスBが割り込めます。 ●作成時間が10分以上前ではない場合 プロセスA:ロックディレクトリ1に阻まれる(排他される) プロセスA:ロックディレクトリ2を作成(排他) プロセスA:作成時間が10分以上前でないと判断 プロセスA:ロックディレクトリ2を削除(排他終了) プロセスA:&error("BUSY")でプロセス終了 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch