- Perlについての質問箱 64箱目 [転載禁止]©2ch.net
728 :デフォルトの名無しさん[]:2015/12/08(火) 18:23:20.26 ID:4zt2FdXQ - open(LOCK,"test.lock");
my($locked) = flock(LOCK,6); print "locked=$locked<br>"; foreach(1...10){ sleep(1); } close(LOCK);#ロックの解除 これを実行して別プロセスで10秒以内にこれを実行すると あとから実行したプロセスの$lockedが1なのでロックできたことになり排他処理にならないです 理論的にはあとから実行したプロセスは前のプロセスがロック中なのでロックできないので $lockedが0にならないとおかしいのにロックできてしまう理由を教えてください
|