php使用flock阻塞写入文件和非阻塞写入文件的实例讲解


Posted in PHP onJuly 10, 2017

阻塞写入代码:(所有程序会等待上次程序执行结束才会执行,30秒会超时)

<?php 
$file = fopen("test.txt","w+"); 
 
$t1 = microtime(TRUE); 
if (flock($file,LOCK_EX)) 
{ 
 sleep(10); 
 fwrite($file,"Write something"); 
 flock($file,LOCK_UN); 
 echo "Ok locking file!"; 
} 
else 
{ 
 echo "Error locking file!"; 
} 
 
fclose($file); 
 
$t2 = microtime(TRUE); 
echo sprintf("%.6f",($t2-$t1));

非阻塞写入代码:(只要文件被占用,则显示Error locking file!)

<?php 
$file = fopen("test.txt","a+"); 
 
$t1 = microtime(TRUE); 
if (flock($file,LOCK_EX|LOCK_NB)) 
{ 
 sleep(10); 
 fwrite($file,"Write something"); 
 flock($file,LOCK_UN); 
 echo "Ok locking file!"; 
} 
else 
{ 
 echo "Error locking file!"; 
} 
 
fclose($file); 
 
$t2 = microtime(TRUE); 
echo sprintf("%.6f",($t2-$t1));

以上这篇php使用flock阻塞写入文件和非阻塞写入文件的实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
php4的session功能评述(一)
Oct 09 PHP
PHP 文件扩展名 获取函数
Jun 03 PHP
采用PHP函数memory_get_usage获取PHP内存清耗量的方法
Dec 06 PHP
PHP删除目录及目录下所有文件的方法详解
Jun 06 PHP
ThinkPHP采用GET方式获取中文参数查询无结果的解决方法
Jun 26 PHP
php获取Google机器人访问足迹的方法
Apr 15 PHP
PHP+Mysql基于事务处理实现转账功能的方法
Jul 08 PHP
php实现给一张图片加上水印效果
Jan 02 PHP
PHP实现批量删除(封装)
Apr 28 PHP
关于 Laravel Redis 多个进程同时取队列问题详解
Dec 25 PHP
解决在laravel中leftjoin带条件查询没有返回右表为NULL的问题
Oct 15 PHP
PHP dirname功能及原理实例解析
Oct 28 PHP
form自动提交实例讲解
Jul 10 #PHP
利用php的ob缓存机制实现页面静态化方法
Jul 09 #PHP
解决安装WampServer时提示缺少msvcr110.dll文件的问题
Jul 09 #PHP
详解php中serialize()和unserialize()函数
Jul 08 #PHP
PC端微信扫码支付成功之后自动跳转php版代码
Jul 07 #PHP
Thinkphp5结合layer弹窗定制操作结果页面
Jul 07 #PHP
php实现保存周期为1天的购物车类
Jul 07 #PHP
You might like
php变量作用域的深入解析
2013/06/03 PHP
php 二维数组时间排序实现代码
2016/11/19 PHP
php类自动装载、链式操作、魔术方法实现代码
2017/07/23 PHP
一些Javascript的IE和Firefox(火狐)兼容性的问题总结及常用例子
2009/05/21 Javascript
JQuery下关于$.Ready()的分析
2009/12/13 Javascript
实现web打印的各种方法介绍及实现代码
2013/01/09 Javascript
js中indexof的用法详细解析
2013/12/24 Javascript
基于jquery实现等比缩放图片
2014/12/03 Javascript
JS实现仿QQ效果的三级竖向菜单
2015/09/25 Javascript
[js高手之路]单例模式实现模态框的示例
2017/09/01 Javascript
vue jsx 使用指南及vue.js 使用jsx语法的方法
2017/11/11 Javascript
vue实现微信获取用户信息的方法
2019/03/21 Javascript
微信小程序中使用Async-await方法异步请求变为同步请求方法
2019/03/28 Javascript
Android 自定义view仿微信相机单击拍照长按录视频按钮
2019/07/19 Javascript
vue项目中使用eslint+prettier规范与检查代码的方法
2020/01/16 Javascript
jQuery实现放大镜案例
2020/10/19 jQuery
python修改注册表终止360进程实例
2014/10/13 Python
Python中AND、OR的一个使用小技巧
2015/02/18 Python
在Python下使用Txt2Html实现网页过滤代理的教程
2015/04/11 Python
python实现扫描日志关键字的示例
2018/04/28 Python
python实现决策树ID3算法的示例代码
2018/05/30 Python
Python设置在shell脚本中自动补全功能的方法
2018/06/25 Python
python正则表达式匹配[]中间为任意字符的实例
2018/12/25 Python
python买卖股票的最佳时机(基于贪心/蛮力算法)
2019/07/05 Python
Python 正则表达式 re.match/re.search/re.sub的使用解析
2019/07/22 Python
Python FTP文件定时自动下载实现过程解析
2019/11/12 Python
简单了解python数组的基本操作
2019/11/26 Python
python不到50行代码完成了多张excel合并的实现示例
2020/05/28 Python
css3 border-radius属性详解
2017/07/05 HTML / CSS
main 函数执行以前,还会执行什么代码
2013/04/17 面试题
创建服务型党组织实施方案
2014/02/25 职场文书
劳资协议书范本
2014/04/23 职场文书
营销部内勤岗位职责
2014/04/30 职场文书
优秀护士先进事迹
2014/05/08 职场文书
万能检讨书开头与结尾怎么写
2015/02/17 职场文书
详解MySQL的内连接和外连接
2023/05/08 MySQL