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 相关文章推荐
用Simple Excel导出xls实现方法
Dec 06 PHP
PHP实现使用优酷土豆视频地址获取swf播放器分享地址
Jun 05 PHP
php使用cookie保存登录用户名的方法
Jan 26 PHP
列举PHP的Yii 2框架的开发优势
Jul 03 PHP
php实现微信公众平台账号自定义菜单类
Oct 11 PHP
smarty学习笔记之常见代码段用法总结
Mar 19 PHP
php 输出json及显示json中的中文汉字详解及实例
Nov 09 PHP
基于Codeigniter框架实现的student信息系统站点动态发布功能详解
Mar 23 PHP
PHP清除缓存的几种方法总结
Sep 12 PHP
laravel实现按月或天或小时统计mysql数据的方法
Oct 09 PHP
PHP全局使用Laravel辅助函数dd
Dec 26 PHP
PHP设计模式之适配器模式(Adapter)原理与用法详解
Dec 12 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/08/02 PHP
编写PHP脚本清除WordPress头部冗余代码的方法讲解
2016/03/01 PHP
php利用云片网实现短信验证码功能的示例代码
2017/11/18 PHP
详解no input file specified 三种解决方法
2019/11/29 PHP
PHP实现简单的计算器
2020/08/28 PHP
Jquery+JSon 无刷新分页实现代码
2010/04/01 Javascript
Js 时间间隔计算的函数(间隔天数)
2011/11/15 Javascript
jquery多选项卡效果实例代码(附效果图)
2013/03/23 Javascript
Ext中下拉列表ComboBox组件store数据格式用法介绍
2013/07/15 Javascript
浅析js中2个等号与3个等号的区别
2013/08/06 Javascript
JS对select控件option选项的增删改查示例代码
2013/10/21 Javascript
JQuery异步获取返回值中文乱码的解决方法
2015/01/29 Javascript
jQuery调用WebMethod(PageMethod) NET2.0的方法
2016/04/15 Javascript
Bootstrap如何创建表单
2016/10/21 Javascript
详解js的异步编程技术的方法
2017/02/09 Javascript
JS FormData对象使用方法实例详解
2020/02/12 Javascript
最全vue的vue-amap使用高德地图插件画多边形范围的示例代码
2020/07/17 Javascript
Python通过websocket与js客户端通信示例分析
2014/06/25 Python
python复制与引用用法分析
2015/04/08 Python
python简单文本处理的方法
2015/07/10 Python
解决Python3 控制台输出InsecureRequestWarning问题
2019/07/15 Python
Python csv文件记录流程代码解析
2020/07/16 Python
聊聊python中的循环遍历
2020/09/07 Python
python爬虫爬取网页数据并解析数据
2020/09/18 Python
用ldap作为django后端用户登录验证的实现
2020/12/07 Python
雅诗兰黛澳大利亚官网:Estée Lauder澳大利亚
2019/05/31 全球购物
Charles & Colvard官网:美国莫桑石品牌
2019/06/05 全球购物
护理学毕业生求职信
2013/11/14 职场文书
博士毕业生自我鉴定范文
2014/04/13 职场文书
理发店策划方案
2014/06/05 职场文书
土建工程师岗位职责
2014/06/10 职场文书
公司员工活动策划方案
2014/08/20 职场文书
2015年志愿者服务工作总结
2015/04/20 职场文书
现货白银电话营销话术
2015/05/29 职场文书
法律意见书范本
2015/06/04 职场文书
解析在浏览器地址栏输入一个URL后发生了什么
2021/06/21 Servers