php使用flock阻塞写入文件和非阻塞写入文件的实例讲解

发布时间 - 2026-01-11 02:15:39    点击率:

阻塞写入代码:(所有程序会等待上次程序执行结束才会执行,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  # flock  # 阻塞  # php 多进程编程父进程的阻塞与非阻塞实例分析  # 简单介绍PHP非阻塞模式  # PHP实现非阻塞模式的方法分析  # PHP实现的CURL非阻塞调用类  # 关于PHP中协程和阻塞的一些理解与思考  # PHP编程中的Session阻塞问题与解决方法分析  # php基于session锁防止阻塞请求的方法分析  # 深入解析PHP中的(伪)多线程与多进程  # 深入探究PHP的多进程编程方法  # php多进程中的阻塞与非阻塞操作实例分析  # 给大家  # 才会  # 希望能  # 这篇  # 小编  # 大家多多  # lt  # brush  # test  # txt  # file  # fopen  # color  # span  # style  # pre  # class  # strong  # locking 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试  如何快速搭建安全的FTP站点?  Laravel怎么实现软删除SoftDeletes_Laravel模型回收站功能与数据恢复【步骤】  千库网官网入口推荐 千库网设计创意平台入口  VIVO手机上del键无效OnKeyListener不响应的原因及解决方法  LinuxCD持续部署教程_自动发布与回滚机制  Laravel如何配置.env文件管理环境变量_Laravel环境变量使用与安全管理  如何在云虚拟主机上快速搭建个人网站?  Android滚轮选择时间控件使用详解  通义万相免费版怎么用_通义万相免费版使用方法详细指南【教程】  Laravel怎么实现验证码(Captcha)功能  Python文件异常处理策略_健壮性说明【指导】  Python3.6正式版新特性预览  如何自定义safari浏览器工具栏?个性化设置safari浏览器界面教程【技巧】  详解jQuery中的事件  Laravel如何创建自定义Artisan命令?(代码示例)  Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出  Laravel Admin后台管理框架推荐_Laravel快速开发后台工具  如何在万网主机上快速搭建网站?  青岛网站建设如何选择本地服务器?  HTML5段落标签p和br怎么选_文本排版常用标签对比【解答】  如何在万网ECS上快速搭建专属网站?  如何在景安服务器上快速搭建个人网站?  标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析  Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明  如何快速生成ASP一键建站模板并优化安全性?  Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性  HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】  Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验  手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?  大连网站制作公司哪家好一点,大连买房网站哪个好?  Laravel如何实现API资源集合?(Resource Collection教程)  网站制作报价单模板图片,小松挖机官方网站报价?  高端建站三要素:定制模板、企业官网与响应式设计优化  制作公司内部网站有哪些,内网如何建网站?  Laravel怎么调用外部API_Laravel Http Client客户端使用  浅谈redis在项目中的应用  如何快速查询域名建站关键信息?  Laravel如何记录日志_Laravel Logging系统配置与自定义日志通道  JavaScript中的标签模板是什么_它如何扩展字符串功能  手机软键盘弹出时影响布局的解决方法  详解Android中Activity的四大启动模式实验简述  javascript中数组(Array)对象和字符串(String)对象的常用方法总结  Laravel如何安装使用Debugbar工具栏_Laravel性能调试与SQL监控插件【步骤】  详解Huffman编码算法之Java实现  Android okhttputils现在进度显示实例代码  Microsoft Edge如何解决网页加载问题 Edge浏览器加载问题修复  简单实现Android验证码  javascript事件捕获机制【深入分析IE和DOM中的事件模型】  Laravel怎么使用Blade模板引擎_Laravel模板继承与Component组件复用【手册】