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(2)
Oct 09 PHP
几个php应用技巧
Mar 27 PHP
为PHP初学者的8点有效建议
Nov 20 PHP
php中批量修改文件后缀名的函数代码
Oct 23 PHP
浅谈php serialize()与unserialize()的用法
Jun 05 PHP
PHP实现的封装验证码类详解
Jun 18 PHP
PHP垃圾回收机制引用计数器概念分析
Jun 24 PHP
PHP版微信公众平台红包API
Apr 02 PHP
php判断表是否存在的方法
Jun 18 PHP
老生常谈文本文件和二进制文件的区别
Feb 27 PHP
PHP+Apache环境中如何隐藏Apache版本
Nov 24 PHP
浅析PHP echo 和 print 语句
Jun 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实现的获取URL信息的类
2007/01/02 PHP
使用PHP强制下载PDF文件示例
2014/01/17 PHP
PHP PDOStatement::bindValue讲解
2019/01/30 PHP
php实现的证件照换底色功能示例【人像抠图/换背景图】
2020/05/29 PHP
js实现屏蔽默认快捷键调用自定义事件示例
2013/06/18 Javascript
利用了jquery的ajax实现二级联互动菜单
2013/12/02 Javascript
JS中的form.submit()不能提交表单的错误原因
2014/10/08 Javascript
Javascript aop(面向切面编程)之around(环绕)分析
2015/05/01 Javascript
原生JS实现仿淘宝网左侧商品分类菜单效果代码
2015/09/10 Javascript
jQuery实现的纵向下拉菜单实例详解【附demo源码下载】
2016/07/09 Javascript
EasyUI学习之Combobox级联下拉列表(2)
2016/12/29 Javascript
vuejs手把手教你写一个完整的购物车实例代码
2017/07/06 Javascript
node+vue实现用户注册和头像上传的实例代码
2017/07/20 Javascript
vue按需引入element Transfer 穿梭框
2017/09/30 Javascript
详解webpack + react + react-router 如何实现懒加载
2017/11/20 Javascript
利用Decorator如何控制Koa路由详解
2018/06/26 Javascript
最适应的vue.js的form提交涉及多种插件【推荐】
2018/08/27 Javascript
express启用https使用小记
2019/05/21 Javascript
Angular8引入百度Echarts进行图表分析的实现代码
2019/11/27 Javascript
取numpy数组的某几行某几列方法
2018/04/03 Python
Python SVM(支持向量机)实现方法完整示例
2018/06/19 Python
keras读取h5文件load_weights、load代码操作
2020/06/12 Python
python redis存入字典序列化存储教程
2020/07/16 Python
Restful_framework视图组件代码实例解析
2020/11/17 Python
法国娇韵诗官方旗舰店:Clarins是来自法国的天然护肤品牌
2018/06/30 全球购物
英国领先的酒杯和水晶玻璃器皿制造商:Dartington Crystal
2019/06/23 全球购物
俄罗斯儿童和青少年服装、鞋子及配件的在线商店:Orby
2020/02/20 全球购物
银行柜员应聘推荐信范文
2013/11/24 职场文书
房屋授权委托书范本
2014/10/07 职场文书
学校师德师风整改措施
2014/10/27 职场文书
2014年销售助理工作总结
2014/12/01 职场文书
积极心理学课程心得体会
2016/01/22 职场文书
创业计划书之溜冰场
2019/10/25 职场文书
Spring Data JPA的Audit功能审计数据库的变更
2021/06/26 Java/Android
微信小程序结合ThinkPHP5授权登陆后获取手机号
2021/11/23 PHP
教你部署vue项目到docker
2022/04/05 Vue.js