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出错界面
Oct 09 PHP
php目录管理函数小结
Sep 10 PHP
php中导出数据到excel时数字变为科学计数的解决方法
Feb 03 PHP
php数组的概述及分类与声明代码演示
Feb 26 PHP
如何判断php数组的维度
Jun 10 PHP
php操作redis中的hash和zset类型数据的方法和代码例子
Jul 05 PHP
PHP处理JSON字符串key缺少双引号的解决方法
Sep 16 PHP
php使用Jpgraph绘制复杂X-Y坐标图的方法
Jun 10 PHP
ThinkPHP框架安全实现分析
Mar 14 PHP
完美利用Yii2微信后台开发的系列总结
Jul 18 PHP
php版微信公众号接口实现发红包的方法
Oct 14 PHP
strpos() 函数判断字符串中是否包含某字符串的方法
Jan 16 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
PHP4实际应用经验篇(3)
2006/10/09 PHP
php使用Smarty的相关注意事项及访问变量的几种方式
2011/12/08 PHP
基于php伪静态的实现详细介绍
2013/04/28 PHP
php的数组与字符串的转换函数整理汇总
2013/07/18 PHP
php中error与exception的区别及应用
2014/07/28 PHP
php通过Chianz.com获取IP地址与地区的方法
2015/01/14 PHP
9个实用的PHP代码片段分享
2015/01/22 PHP
php阿拉伯数字转中文人民币大写
2015/12/21 PHP
thinkPHP5项目中实现QQ第三方登录功能
2017/10/20 PHP
phpinfo的知识点总结
2019/10/10 PHP
静态的动态续篇之来点XML
2006/12/23 Javascript
js压缩工具 yuicompressor 使用教程
2010/03/31 Javascript
JS提交form表单实例分析
2015/12/10 Javascript
详解javascript中原始数据类型Null和Undefined
2015/12/17 Javascript
使用NodeJs 开发微信公众号(三)微信事件交互实例
2016/03/02 NodeJs
Bootstrap基本插件学习笔记之轮播幻灯片(23)
2016/12/08 Javascript
AngularJS 异步解决实现方法
2017/06/12 Javascript
浅析vue-router jquery和params传参(接收参数)$router $route的区别
2018/08/03 jQuery
js canvas实现写字动画效果
2018/11/30 Javascript
使用NestJS开发Node.js应用的方法
2018/12/03 Javascript
vue实现在v-html的html字符串中绑定事件
2019/10/28 Javascript
VUE 动态组件的应用案例分析
2019/12/02 Javascript
javascript History对象原理解析
2020/02/17 Javascript
[12:21]VICI vs TNC (BO3)
2018/06/07 DOTA
Python中字典(dict)和列表(list)的排序方法实例
2014/06/16 Python
在Python中利用Pandas库处理大数据的简单介绍
2015/04/07 Python
Python中Django框架下的staticfiles使用简介
2015/05/30 Python
python3爬取淘宝信息代码分析
2018/02/10 Python
python爱心表白 每天都是浪漫七夕!
2018/08/18 Python
浅谈pandas筛选出表中满足另一个表所有条件的数据方法
2019/02/08 Python
如何使用repr调试python程序
2020/02/28 Python
如何提高JDBC的性能
2013/04/30 面试题
协议书范本
2014/04/23 职场文书
小学生读书活动总结
2014/06/30 职场文书
商铺门前三包责任书
2014/07/25 职场文书
应届生们该怎么书写求职信?
2019/07/05 职场文书