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 相关文章推荐
IIS下PHP连接数据库提示mysql undefined function mysql_connect()
Jun 04 PHP
php空间不支持socket但支持curl时recaptcha的用法
Nov 07 PHP
PHP中操作ini配置文件的方法
Apr 25 PHP
完美解决PHP中的Cannot modify header information 问题
Aug 12 PHP
PHP限制页面只能在微信自带浏览器访问的代码
Jan 15 PHP
支持中文、字母、数字的PHP验证码
May 04 PHP
Laravel5.1数据库连接、创建数据库、创建model及创建控制器的方法
Mar 29 PHP
php文件上传后端处理小技巧
May 22 PHP
PHP新特性详解之命名空间、性状与生成器
Jul 18 PHP
PHP回调函数概念与用法实例分析
Nov 03 PHP
Yii框架日志记录Logging操作示例
Jul 12 PHP
ThinkPHP框架整合微信支付之Native 扫码支付模式一图文详解
Apr 09 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
ninety plus是什么?ninety plus咖啡好吗?
2021/03/04 新手入门
php多文件上传下载示例分享
2014/02/20 PHP
memcache一致性hash的php实现方法
2015/03/05 PHP
PHP连接SQL server数据库测试脚本运行实例
2020/08/24 PHP
Alliance vs Liquid BO3 第三场2.13
2021/03/10 DOTA
JavaScript 学习笔记(十四) 正则表达式
2010/01/22 Javascript
JSP中使用JavaScript动态插入删除输入框实现代码
2014/06/13 Javascript
jQuery制作简洁的多级联动Select下拉框
2014/12/23 Javascript
jQuery动画与特效详解
2015/02/01 Javascript
javascript实现俄罗斯方块游戏的思路和方法
2015/04/27 Javascript
jQuery通过ajax快速批量提交表单数据
2016/10/25 Javascript
JS实现简单的二元方程计算器功能示例
2017/01/03 Javascript
详解Vue.js搭建路由报错 router.map is not a function
2017/06/27 Javascript
JS中跳出循环的示例代码
2017/09/14 Javascript
详解html-webpack-plugin用法全解
2018/01/22 Javascript
jQuery实现的响应鼠标移动方向插件用法示例【附源码下载】
2018/08/28 jQuery
基于Koa2写个脚手架模拟接口服务的方法
2018/11/27 Javascript
js中call()和apply()改变指针问题的讲解
2019/01/17 Javascript
Vue-Cli项目优化操作的实现
2019/10/27 Javascript
Vue通过getAction的finally来最大程度避免影响主数据呈现问题
2020/04/24 Javascript
原生js实现五子棋游戏
2020/05/28 Javascript
Vue指令实现OutClick的示例
2020/11/16 Javascript
详解python中 os._exit() 和 sys.exit(), exit(0)和exit(1) 的用法和区别
2017/06/23 Python
pandas 读取各种格式文件的方法
2018/06/22 Python
Python3.6使用tesseract-ocr的正确方法
2018/10/17 Python
解决项目pycharm能运行,在终端却无法运行的问题
2019/01/19 Python
python基于event实现线程间通信控制
2020/01/13 Python
python中xlutils库用法浅析
2020/12/29 Python
在Ubuntu中安装并配置Pycharm教程的实现方法
2021/01/06 Python
代理班主任的自我评价
2014/02/04 职场文书
2014年国培研修感言
2014/03/09 职场文书
法律进社区实施方案
2014/03/21 职场文书
《桂花雨》教学反思
2014/04/12 职场文书
机械系毕业生求职信
2014/05/28 职场文书
拯救大兵瑞恩观后感
2015/06/09 职场文书
怎么禁用Win11输入法 最新Win11输入法关闭教程
2022/08/05 数码科技