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 相关文章推荐
php 无限级缓存的类的扩展
Mar 16 PHP
PHP运行模式的深入理解
Jun 03 PHP
php数组删除元素示例
Mar 21 PHP
ThinkPHP CURD方法之where方法详解
Jun 18 PHP
PHP通过API获取手机号码归属地
May 28 PHP
PHP常见字符串处理函数用法示例【转换,转义,截取,比较,查找,反转,切割】
Dec 24 PHP
PHP将身份证正反面两张照片合成一张图片的代码
Apr 08 PHP
动态表单验证的操作方法和TP框架里面的ajax表单验证
Jul 19 PHP
PHP如何实现订单的延时处理详解
Dec 30 PHP
PHP 访问数据库配置通用方法(json)
May 20 PHP
PHP实现15位身份证号转18位的方法分析
Oct 16 PHP
php 使用expat方式解析xml文件操作示例
Nov 26 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配置文件中最常用四个ini函数
2007/03/19 PHP
Http 1.1 Etag 与 Last-Modified提高php效率
2008/01/10 PHP
PHP下编码转换函数mb_convert_encoding与iconv的使用说明
2009/12/16 PHP
PHP中iconv函数转码时截断字符问题的解决方法
2015/01/21 PHP
ThinkPHP实现登录退出功能
2017/06/29 PHP
IE8 引入跨站数据获取功能说明
2008/07/22 Javascript
CSS和Javascript简单复习资料
2010/06/29 Javascript
JS定时器实例
2013/04/17 Javascript
Javascript中常见的校验如域名、手机、邮箱等等
2014/01/02 Javascript
js操作输入框提示信息且响应鼠标事件
2014/03/25 Javascript
jQuery模拟新浪微博首页滚动效果的方法
2015/03/11 Javascript
AngularJS表格详解及示例代码
2016/08/17 Javascript
基于iscroll.js实现下拉刷新和上拉加载效果
2016/11/28 Javascript
微信小程序上滑加载下拉刷新(onscrollLower)分批加载数据(一)
2017/05/11 Javascript
Spring shiro + bootstrap + jquery.validate 实现登录、注册功能
2017/06/02 jQuery
解决vue axios的封装 请求状态的错误提示问题
2018/09/25 Javascript
JavaScript实现的级联算法示例【省市二级联动功能】
2018/12/25 Javascript
JavaScript中如何对多维数组(矩阵)去重的实现
2019/12/04 Javascript
vue-resource post数据时碰到Django csrf问题的解决
2020/03/13 Javascript
[02:16]完美世界DOTA2联赛PWL S3 集锦第三期
2020/12/21 DOTA
Python脚本实现Web漏洞扫描工具
2016/10/25 Python
Python工厂函数用法实例分析
2018/05/14 Python
pandas中的series数据类型详解
2019/07/06 Python
python中必要的名词解释
2019/11/20 Python
python-docx文件定位读取过程(尝试替换)
2020/02/13 Python
pyspark 随机森林的实现
2020/04/24 Python
python代数式括号有效性检验示例代码
2020/10/04 Python
美国机场停车位预订:About Airport Parking
2018/03/26 全球购物
党的群众路线学习材料
2014/05/16 职场文书
面试必备的求职信
2014/05/25 职场文书
商业街策划方案
2014/05/31 职场文书
网吧七夕活动策划方案
2014/08/31 职场文书
实习协议书
2015/01/27 职场文书
2015教师个人德育工作总结
2015/07/22 职场文书
女人创业励志语录,句句蕴含能量,激发你的潜能
2019/08/20 职场文书
CSS实现章节添加自增序号的方法
2021/06/23 HTML / CSS