php使用flock阻塞写入文件和非阻塞写入文件的实例讲解
2024-10-18 22:34:04
php使用flock阻塞写入文件和非阻塞写入文件的实例讲解:
阻塞写入代码:(所有程序会等待上次程序执行结束才会执行,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));
最新文章
- 封装一个函数获取匹配特定的css选择符
- delphi 动态更改屏幕分辨率(转)
- <;转>;简单之美——系统设计黄金法则
- Android studio disign 问题
- Java中堆、栈、常量池分析
- 激活OFFICE2010时,提示choice.exe不是有效的win32程序
- CentOS7.2下Nginx的使用
- 【一天一道LeetCode】#18. 4Sum
- ffmpeg错误:Invalid UE golomb code
- jquery评分插件jquery.raty.js
- jqgrid点击搜索无法重置参数问题
- 使用ycsb对hbase0.94.11 benchmark
- pacman 命令
- Android手势密码--设置和校验
- vs2015未能计算子级
- Java课堂测试01及感想
- 洛谷P1414 又是毕业季II
- mysql 注入基础知识
- 20172324《Java程序设计》第二周学习总结
- Jenkins远程调度Shell命令