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 相关文章推荐
将文件夹压缩成zip文件的php代码
Dec 14 PHP
用Simple Excel导出xls实现方法
Dec 06 PHP
IIS安装Apache伪静态插件的具体操作图文
Jul 01 PHP
php用正则表达式匹配URL的简单方法
Nov 12 PHP
php 检查电子邮件函数(自写)
Jan 16 PHP
PHP实现使用优酷土豆视频地址获取swf播放器分享地址
Jun 05 PHP
php页面函数设置超时限制的方法
Dec 01 PHP
php中使用in_array() foreach array_search() 查找数组是否包含时的性能对比
Apr 14 PHP
php支持断点续传、分块下载的类
May 02 PHP
[原创]php实现数组按拼音顺序排序的方法
May 03 PHP
PHP利用Socket获取网站的SSL证书与公钥
Jun 18 PHP
PHP PDOStatement::debugDumpParams讲解
Jan 30 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配置心得包含MYSQL5乱码解决
2006/11/20 PHP
php和js交互一例-PHP教程,PHP应用
2007/01/03 PHP
php常用Output和ptions/Info函数集介绍
2013/06/19 PHP
PHP对接微信公众平台消息接口开发流程教程
2014/03/25 PHP
php使用Session和文件统计在线人数
2015/07/04 PHP
PHP 的比较运算与逻辑运算详解
2016/05/12 PHP
各浏览器对link标签onload/onreadystatechange事件支持的差异分析
2011/04/27 Javascript
深入理解JavaScript系列(3) 全面解析Module模式
2012/01/15 Javascript
js判断数组key是否存在(不用循环)的简单实例
2016/08/03 Javascript
js内置对象处理_打印学生成绩单的简单实现
2016/09/24 Javascript
js前端实现多图图片上传预览的两个方法(推荐)
2016/11/18 Javascript
微信小程序中遇到的iOS兼容性问题小结
2018/11/14 Javascript
vue实现跨域的方法分析
2019/05/21 Javascript
使用vue-router在Vue页面之间传递数据的方法
2019/07/15 Javascript
vue路由权限校验功能的实现代码
2020/06/07 Javascript
JavaScript中交换值的10种方法总结
2020/08/18 Javascript
Python遍历目录并批量更换文件名和目录名的方法
2016/09/19 Python
python爬取亚马逊书籍信息代码分享
2017/12/09 Python
python2与python3中关于对NaN类型数据的判断和转换方法
2018/10/30 Python
python 二维数组90度旋转的方法
2019/01/28 Python
详解python项目实战:模拟登陆CSDN
2019/04/04 Python
三步实现Django Paginator分页的方法
2019/06/11 Python
春节到了 教你使用python来抢票回家
2020/01/06 Python
tensorflow之并行读入数据详解
2020/02/05 Python
简单介绍一下pyinstaller打包以及安全性的实现
2020/06/02 Python
CSS3+DIV实现漂亮的动画彩色标签
2016/06/16 HTML / CSS
CSS3 Flex 弹性布局实例代码详解
2018/11/01 HTML / CSS
vue路由实现登录拦截
2021/03/24 Vue.js
就业自我评价
2014/02/04 职场文书
机械工程学院大学生求职信
2014/05/25 职场文书
运动会横幅标语
2014/06/17 职场文书
保密工作目标责任书
2014/07/28 职场文书
老公出轨后的保证书
2015/05/08 职场文书
公司催款律师函
2015/05/27 职场文书
经典哲理警句:志不真则心不热,心不热则功不贤
2019/11/14 职场文书
浅谈MySQL user权限表
2021/06/18 MySQL