首页  >  问答  >  正文

PHP文件锁的排它锁的疑惑?

flock.php
<?php

$fp=fopen('lock.txt','a');

if (flock($fp,LOCK_EX)){

  fwrite($fp," HHHHHHHHHHHHHH".time()."\r\n");

}

?>
flock2.php
<?php

$fp=fopen('lock.txt','a');

if (flock($fp,LOCK_EX)){

  fwrite($fp," GGGGGGGGGGGGGG".time()."\r\n");

}

?>
疑惑:
为什么flock.php文件里用排它锁锁住文件了,并没有释放锁也没有关闭fclose文件。但是执行flock2.php 文件时,还能写入啊。
文件锁的排它锁不是锁住后其他进程不能写入了吗。只有等释放锁才能再次写入吗?

曾经蜡笔没有小新曾经蜡笔没有小新2737 天前662

全部回复(1)我来回复

  • 大家讲道理

    大家讲道理2017-05-16 13:17:13

    php 执行完就结束了,释放资源了,自然就会释放锁

    你要测试的话,flock.php 加个死循环,确保永不退出,在执行 flock2.php 看看效果

    回复
    0
  • 取消回复