php使用flock阻塞写入文件和非阻塞写入文件
2015-08-16 15:24
716 查看
php使用flock阻塞写入文件和非阻塞写入文件
阻塞写入代码:(所有程序会等待上次程序执行结束才会执行,30秒会超时)
非阻塞写入代码:(只要文件被占用,则显示Error locking file!)
阻塞写入代码:(所有程序会等待上次程序执行结束才会执行,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));
相关文章推荐
- vectpr越界问题
- redhat6 搭建vsftp
- 小词典(php)
- 46 个非常有用的 PHP 代码片段
- php面向对象static关键字
- FileZilla FTP server 架设和FileZilla FTP 客户端使用说明
- Sphinx-PHP使用Sphinx搜索技术
- 安装编译源码php5.6.11
- PHP扩展开发:hello word!
- vsftp服务器root账户不能用于ftp登录的解决方法
- php 生产验证码
- TP实现首页静态方法
- 【细说PHP学习】第十三章 PHP的错误和异常处理
- yii webservice 提示:Procedure 'getSent' not present 错误的解决方法
- yii webservice 提示:Procedure 'getSent' not present 错误的解决方法
- ContentProvider类的设计分析
- mac os下部署laravel项目笔记
- php友好格式化时间
- PHP学习笔记-非常有用的 PHP 代码片段(1)
- JS/PHP 浮点数精确运算