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 相关文章推荐
mysql 中InnoDB和MyISAM的区别分析小结
Apr 15 PHP
收集的二十一个实用便利的PHP函数代码
Apr 22 PHP
PHP curl模拟浏览器采集阿里巴巴的实现代码
Apr 20 PHP
PHP下载远程文件到本地存储的方法
Mar 24 PHP
利用PHP如何实现Socket服务器
Sep 23 PHP
PHP通过反射动态加载第三方类和获得类源码的实例
Nov 27 PHP
php通过执行CutyCapt命令实现网页截图的方法
Sep 30 PHP
Yii2使用表单上传文件的实例代码
Aug 03 PHP
PHP验证码无法显示的原因及解决办法
Aug 11 PHP
PHP+mysql实现的三级联动菜单功能示例
Feb 15 PHP
Laravel5.1 框架表单验证操作实例详解
Jan 07 PHP
PHP 计算至少是其他数字两倍的最大数的实现代码
May 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安装攻略:常见问题解答(三)
2006/10/09 PHP
Zend的AutoLoad机制介绍
2012/09/27 PHP
PHP APC的安装与使用详解
2013/06/13 PHP
PHPUnit测试私有属性和方法功能示例
2018/06/12 PHP
Array对象方法参考
2006/10/03 Javascript
改写一个简单的菜单 弹性大小
2010/12/02 Javascript
事件冒泡是什么如何用jquery阻止事件冒泡
2013/03/20 Javascript
利用javascript实现禁用网页上所有文本框,下拉菜单,多行文本域
2013/12/14 Javascript
基于jquery的simpleValidate简易验证插件
2014/01/31 Javascript
jQuery实现文本展开收缩特效
2015/06/03 Javascript
浅析js中substring和substr的方法
2015/11/09 Javascript
jQuery图片切换动画效果
2017/02/28 Javascript
AngularJS 异步解决实现方法
2017/06/12 Javascript
关于React动态加载路由处理的相关问题
2019/01/07 Javascript
vue与iframe之间的信息交互的实现
2020/04/08 Javascript
uniapp,微信小程序中使用 MQTT的问题
2020/07/11 Javascript
vue.js实现点击图标放大离开时缩小的代码
2021/01/27 Vue.js
[01:24]2014DOTA2 TI第二日 YYF表示这届谁赢都有可能
2014/07/11 DOTA
Python开发实例分享bt种子爬虫程序和种子解析
2014/05/21 Python
使用 Python 获取 Linux 系统信息的代码
2014/07/13 Python
对Tensorflow中的变量初始化函数详解
2018/07/27 Python
python3.5基于TCP实现文件传输
2020/03/20 Python
pycharm中导入模块错误时提示Try to run this command from the system terminal
2020/03/26 Python
解决Pycharm 运行后没有输出的问题
2021/02/05 Python
Bonprix法国:时尚、鞋子、家居
2020/12/29 全球购物
语文教育专业应届生求职信
2013/11/23 职场文书
回门宴父母答谢词
2014/01/26 职场文书
社区八一活动方案
2014/02/03 职场文书
信息技术毕业生自荐信范文
2014/03/13 职场文书
乡镇2014法制宣传日活动总结
2014/11/01 职场文书
师德标兵事迹材料
2014/12/19 职场文书
2014年体检中心工作总结
2014/12/23 职场文书
学期个人自我总结
2015/02/13 职场文书
2015年公路养护工作总结
2015/05/13 职场文书
消费者投诉书范文
2015/07/02 职场文书
教你做个可爱的css滑动导航条
2021/06/15 HTML / CSS