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 addslashes和mysql_real_escape_string
Jan 24 PHP
防止本地用户用fsockopen DDOS攻击对策
Nov 02 PHP
PHP可变函数的使用详解
Jun 14 PHP
php5.5中类级别的常量使用介绍
Oct 02 PHP
php中实现精确设置session过期时间的方法
Jul 17 PHP
PHP GD库生成图像的几个函数总结
Nov 19 PHP
浅谈php命令行用法
Feb 04 PHP
php实现递归的三种基本方式
Jul 04 PHP
CodeIgniter配置之autoload.php自动加载用法分析
Jan 20 PHP
Yii实现的多级联动下拉菜单
Jul 13 PHP
PHP封装的PDO数据库操作类实例
Jun 21 PHP
Yii框架安装简明教程
May 15 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 Ajax实现页面无刷新发表评论
2007/01/02 PHP
PHP 函数语法介绍一
2009/06/14 PHP
Codeigniter实现智能裁剪图片的方法
2014/06/12 PHP
php绘制一条弧线的方法
2015/01/24 PHP
PHP模拟post提交数据方法汇总
2016/02/16 PHP
PHP实现求连续子数组最大和问题2种解决方法
2017/12/26 PHP
JSON PHP中,Json字符串反序列化成对象/数组的方法
2018/05/31 PHP
laravel与thinkphp之间的区别与优缺点
2021/03/02 PHP
JavaScript中的Window窗口对象
2008/01/16 Javascript
Javascript 文件夹选择框的两种解决方案
2009/07/01 Javascript
Jquery创建层显示标题和内容且随鼠标移动而移动
2014/01/26 Javascript
node.js中的fs.truncate方法使用说明
2014/12/15 Javascript
js给table赋值的实例代码
2016/10/13 Javascript
JavaScript中的遍历详解(多种遍历)
2017/04/07 Javascript
angular-ngSanitize模块-$sanitize服务详解
2017/06/13 Javascript
基于JavaScript实现飘落星星特效
2017/08/10 Javascript
jQuery实现图片上传预览效果功能完整实例【测试可用】
2018/05/28 jQuery
详解在React项目中安装并使用Less(用法总结)
2019/03/18 Javascript
使用Vue生成动态表单
2019/11/26 Javascript
详解elementUI中input框无法输入的问题
2020/04/27 Javascript
[01:37]全新的一集《真视界》——TI7总决赛
2017/09/21 DOTA
Python学习笔记之自定义函数用法详解
2019/06/08 Python
Python标准库itertools的使用方法
2020/01/17 Python
Python中生成ndarray实例讲解
2021/02/22 Python
浅谈HTML5新增和废弃的标签
2019/04/28 HTML / CSS
HTML5 video进入全屏和退出全屏的实现方法
2020/07/28 HTML / CSS
澳大利亚领先的折扣药房:Chemist Direct(有中文站)
2018/11/24 全球购物
生物技术毕业生自荐信
2013/10/23 职场文书
学前教育求职自荐信范文
2013/12/25 职场文书
上课玩手机检讨书
2014/02/08 职场文书
青春奉献演讲稿
2014/05/08 职场文书
小学兴趣小组活动总结
2014/07/07 职场文书
数学考试作弊检讨书300字
2015/02/16 职场文书
个性与发展自我评价
2015/03/06 职场文书
预备党员半年考察意见
2015/06/01 职场文书
小马王观后感
2015/06/11 职场文书