php 文件锁

Posted yubolin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 文件锁相关的知识,希望对你有一定的参考价值。

当写为LOCK_EX锁 且 读为LOCK_SH锁时最为妥当,经测试,这时情况如下:

1, 先运行w.php,马上支行r.php 后 程序会先等写入后再读取

2, 先运行r.php,再马上支行w.php后 当写操作执行LOCK_EX时就已经把文件内容清空,LOCK_SH并不会影响写操作清空,也就是说具体流程如下: 

  a) 运行r.php ,加LOCK_SH锁 , 马上支行w.php,加LOCK_SH,文件被清空

     b) 等待r.php读出为空,运行完毕后,w.php再开始运行,完毕

3,如果将第二步中的w.php中的 fwrite换成a就可以先读出原有的,等读完后,写才执行

 

4,如果两个都读 或都写,那么就按 先后顺序等待执行

其中很像队列机制

以上是关于php 文件锁的主要内容,如果未能解决你的问题,请参考以下文章

PHP 文件锁

php里面的文件锁

php 文件锁

php原子操作,文件锁flock,数据库事务

PHP 之文件锁解决并发问题

PHP 文件锁和常用文件函数