在php中,已经提供了关于锁的函数 flock
flock(file,lock,block)
参数 描述
file 必需。规定要锁定或释放的已打开的文件。
lock 必需。规定要使用哪种锁定类型。...LOCK_UN - 释放一个共享锁定或独占锁定LOCK_NB - 锁定的情况下避免阻塞其他进程。
block 可选。若设置为 1,则当进行锁定时阻塞其他进程。...同样,共享锁也会出现一样的情况(不做测试)
注意事项
独占锁加上之后,虽然其他进程无法加共享锁以及独占锁,但是可以直接写入文件,同样会造成数据污染,所以注意,当你确定某个文件确定需要加锁时,关于操作这个文件的代码...其他
非阻塞
通过在flock函数中的参数中增加LOCK_NB,可以避免阻塞,当不能加锁时会直接返回失败:
<?...并发解决
还记得第一篇并发锁的文章吗?通过这个方式,就可以实现同一个文件在同一时间自有一个进程访问了