PHP文件锁的排它锁的疑惑?
本文介绍了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 文件时,还能写入啊。
文件锁的排它锁不是锁住后其他进程不能写入了吗。只有等释放锁才能再次写入吗?
解决方案
php 执行完就结束了,释放资源了,自然就会释放锁
你要测试的话,flock.php 加个死循环,确保永不退出,在执行 flock2.php 看看效果
这篇关于PHP文件锁的排它锁的疑惑?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文