• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > php中文件锁解决多进程同时读写一个文件问题的解决方法

php中文件锁解决多进程同时读写一个文件问题的解决方法

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-05

匿名通过本文主要向大家介绍了php,读写,同时等相关知识,希望本文的分享对您有所帮助
本文实例讲述了PHP基于文件锁解决多进程同时读写一个文件问题。分享给大家供大家参考,具体如下:

首先PHP是支持进程的而不支持多线程(这个先搞清楚了),如果是对于文件操作,其实你只需要给文件加锁就能解决,不需要其它操作,PHP的flock已经帮你搞定了。

用flock在写文件前先锁上,等写完后解锁,这样就实现了多线程同时读写一个文件避免冲突。大概就是下面这个流程


/*
*flock(file,lock,block)
*file 必需,规定要锁定或释放的已打开的文件
*lock 必需。规定要使用哪种锁定类型。
*block 可选。若设置为 1 或 true,则当进行锁定时阻挡其他进程。
*lock
*LOCK_SH 要取得共享锁定(读取的程序)
*LOCK_EX 要取得独占锁定(写入的程序)
*LOCK_UN 要释放锁定(无论共享或独占)
*LOCK_NB 如果不希望 flock() 在锁定时堵塞
/*
if (flock($file,LOCK_EX))
{
fwrite($file,'write more words');
flock($file,LOCK_UN);
}
else
{
//处理错误逻辑
}
fclose($file);
)

以上就是php中文件锁解决多进程同时读写一个文件问题的解决方法的详细内容,更多请关注微课江湖其它相关文章!

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 浅析mysql 语句的调度优先级及改变
  • 基于mysql多实例安装的深入解析
  • mysql_fetch_row()与mysql_fetch_array()的使用介绍
  • 基于Php mysql存储过程的详解
  • PHP之Mysql常用SQL语句示例的深入分析
  • PHP mysqli 增强 批量执行sql 语句的实现代码
  • PHP mysqli扩展库 预处理技术的使用分析
  • Mysql中文乱码以及导出为sql语句和Excel问题解决方法[图文]
  • 修改mysql密码与忘记mysql密码的处理方法
  • 多次执行mysql_fetch_array()的指针归位问题探讨

相关文章

  • 2018-12-05详解Oracle中的translate函数和replace函数
  • 2018-12-05Mysq中l建立测试父表、子表及测试用例归纳总结
  • 2017-05-11MySQL配置文件my.cnf中文详解附mysql性能优化方法分享
  • 2018-12-05mysql数据库备份的几种方法
  • 2018-12-05对于mysql优化方法你知道多少
  • 2018-12-05mysql 优化(5)索引与排序
  • 2017-05-11一键重置mysql的root密码脚本
  • 2017-05-11MySQL 存储过程和"Cursor"的使用方法
  • 2018-12-05SQL 注入式攻击的本质
  • 2018-12-05oracle 9i 图文安装/oracle 9i 安装

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • Centos 5.2下安装多个mysql数据库配置详解
    • mysql 存储过程输入输出参数示例
    • Oracle 用户权限管理方法
    • sql server中datetime字段去除时间的语句
    • MySQL Where 条件语句介绍和运算符小结
    • 简单的数据库权限分配教程
    • 游标遍历的内容推荐
    • phpmyadmin报错:#2003 无法登录 MySQL服务器的解决方法
    • mysql下mysql-udf-http效率测试小记
    • 关于centos6.4下mysql5.7.18安装配置方法图文教程分享

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有