位置: 编程技术 - 正文

PHP flock 文件锁详细介绍(php文件锁并发 性能)

编辑:rootadmin
flock (PHP 4, PHP 5) flock — 轻便的咨询文件锁定 说明 bool flock ( int $handle , int $operation [, int &$wouldblock ] ) PHP 支持以咨询方式(也就是说所有访问程序必须使用同一方式锁定, 否则它不会工作)锁定全部文件的一种轻便方法。 Note: 在 Windows 下 flock() 将会强制执行。 flock() 操作的 handle 必须是一个已经打开的文件指针。operation 可以是以下值之一: 要取得共享锁定(读取的程序),将 operation 设为 LOCK_SH(PHP 4.0.1 以前的版本设置为 1)。 要取得独占锁定(写入的程序),将 operation 设为 LOCK_EX(PHP 4.0.1 以前的版本中设置为 2)。 要释放锁定(无论共享或独占),将 operation 设为 LOCK_UN(PHP 4.0.1 以前的版本中设置为 3)。 如果不希望 flock() 在锁定时堵塞,则给 operation 加上 LOCK_NB(PHP 4.0.1 以前的版本中设置为 4)。 flock() 允许执行一个简单的可以在任何平台中使用的读取/写入模型(包括大部分的 Unix 派生版和甚至是 Windows)。如果锁定会堵塞的话(EWOULDBLOCK 错误码情况下),可选的第三个参数会被设置为 TRUE。锁定操作也可以被 fclose() 释放(代码执行完毕时也会自动调用)。 成功时返回 TRUE, 或者在失败时返回 FALSE. Example #1 flock() 例子 Note: 由于 flock() 需要一个文件指针, 因此可能不得不用一个特殊的锁定文件来保护打算通过写模式打开的文件的访问(在 fopen() 函数中加入 "w" 或 "w+")。 Warning flock() 不能用于 NFS 以及其它一些网络文件系统。详细资料查看自己操作系统的文档。 在部分操作系统中 flock() 以进程级实现。当用一个多线程服务器 API(比如 ISAPI)时,可能不可以依靠 flock() 来保护文件,因为运行于同一服务器实例中其它并行线程的 PHP 脚本可以对该文件进行处理。 flock() 不支持旧的文件系统,如 FAT 以及它的派生系统。因此,此环境下总是返回 FALSE(尤其是对 Windows 用户来说)。 php中文件锁函数flock函数用法简介: 语法: bool flock ( int $handle , int $operation [, int &$wouldblock ] ) flock() 操作的 handle 必须是一个已经打开的文件指针。operation 可以是以下值之一: 1. 要取得共享锁定(读取程序),将 operation 设为 LOCK_SH(PHP 4.0.1 以前的版本设置为 1) 2. 要取得独占锁定(写入程序),将 operation 设为 LOCK_EX(PHP 4.0.1 以前的版本中设置为 2) 3. 要释放锁定(无论共享或独占),将 operation 设为 LOCK_UN(PHP 4.0.1 以前的版本中设置为 3) 4. 如果你不希望 flock() 在锁定时堵塞,则给 operation 加上 LOCK_NB(PHP 4.0.1 以前的版本中设置为 4) 看下面代码: a.php b.php 运行 a.php 后,马上运行 b.php ,可以看到输出: abc 等 a.php 运行完后运行 b.php ,可以看到输出: abc 显然,当 a.php 写文件时数据太大,导致时间比较长时,这时 b.php 读取数据不完整,在对b.php做修改 修改 b.php 为: 运行 a.php 后,马上运行 b.php ,可以发现 b.php 会等到 a.php 运行完成后(即 秒后)才显示: abc 读取数据完整,但时间过长,他要等待写锁释放,再对b.php做修改。 修改 b.php 为: 运行 a.php 后,马上运行 b.php ,可以看到输出: Lock file failed… 证明可以返回锁文件失败状态,而不是向上面一样要等很久。 积木网小编结论: 建议作文件缓存时,选好相关的锁,不然可能导致读取数据不完整,或重复写入数据。 file_get_contents 好像选择不了锁,不知道他默认用的什么锁,反正和不锁得到的输出一样,是不完整的数据。

推荐整理分享PHP flock 文件锁详细介绍(php文件锁并发 性能),希望有所帮助,仅作参考,欢迎阅读内容。

PHP flock 文件锁详细介绍(php文件锁并发 性能)

文章相关热门搜索词:php文件加锁,php文件解密工具,php docblocker,php lock_ex,phpcodelock,php文件锁实现的并发 性能怎么样,php文件锁实现的并发 性能怎么样,php lock_ex,内容如对您有帮助,希望把文章链接给更多的朋友!

PHP基础教程(php入门基础教程)一些code代码 在此教程之前,我就不长篇一律的说什么PHP的常用了。关于什么是变量呀什么是判断语句呀什么的,请自行查询相关资料此教程值针对于有编程基础,

PHP If Else(elsefi) 语句 条件语句当您编写代码时,您常常需要为不同的判断执行不同的动作。您可以在代码中使用条件语句来完成此任务。if...else语句在条件成立时执行一块

PHP中基于ts与nts版本- vc6和vc9编译版本的区别详解 VC6:legacyVisualStudio6compiler,就是使用这个编译器编译的。VC9:VisualStudiocompiler,就是用微软的VS编辑器编译的。由于apache.org只提供VC6的版本,所以使

标签: php文件锁并发 性能

本文链接地址:https://www.jiuchutong.com/biancheng/278570.html 转载请保留说明!

上一篇:PHP编码规范之注释和文件结构说明(php的注释可以使用什么开头)

下一篇:PHP基础教程(php入门基础教程)一些code代码(php教程100)

  • 递延所得税资产和递延所得税负债
  • 土地增值税怎么计算
  • 母公司借款给子公司现金流量表科目
  • 金蝶k3怎么样新增账套
  • 网线的税收编码是多少
  • 应交税费明细表填制
  • 企业重组资产转移是否涉税
  • 承兑汇票贴现计算公式
  • 借款合同法律规定的表述
  • 业务宣传费超出部分以后年度怎样处理
  • 稳定性流动资产是经营性流动资产吗
  • 固定资产减值准备增加记哪方
  • 装修公司能开增值发票吗
  • 企业所得税月交还是年交
  • 会议费需要什么资料
  • 餐饮行业纳税指引及营改增后税负变化!
  • 企业报税网上申报
  • 财务费用负数是什么意思
  • 理财赎回本金没赎回利息咋办
  • 未抵扣增值税入什么科目
  • 财务报表包含哪些表
  • 小规模普通发票可以抵扣吗
  • 计提固定资产会计科目
  • 上年结转的广告费次年怎么入账
  • 关于幼儿园会没课程的会刊
  • 收到服务费的发票怎么做
  • linux vim
  • 特殊收入扣减异常怎么解释
  • 销售产品取得收入4500万元
  • PHP:pcntl_wifexited()的用法_PCNTL函数
  • 关于企业发生的手续费及佣金支出的扣除标准
  • 货运代理开票
  • php静态方法可以被继承吗
  • 一般纳税人费用专票如何做账
  • 购买礼品的会计怎么做账
  • 租店铺需要什么流程需要注意什么事项?
  • python的继承用法
  • mysql数据库最新版
  • 待处理流动资产损失属于什么科目
  • 应收预收应付预付科目怎么合并
  • 未确认递延所得税资产的可抵扣亏损到期年度表
  • 金税盘抵增值税
  • 员工外面有自己的公司
  • 开出银行汇票支付货款
  • 企业租厂房没有发票怎么做账
  • 利润与所有者权益的区别
  • 到期不续约补偿金怎么算
  • 机票行程单可以打印几次
  • 管理费用科目余额表有余额怎么办
  • 有限合伙企业的特征
  • 房屋租赁账务如何做分录
  • 启动sqlserver服务的命令
  • mysql分区实现
  • bios的含义
  • zmweb.exe是什么进程
  • WinCinemaMgr.exe - WinCinemaMgr是什么进程
  • 64位的ubuntu15.04怎么安装WPS?
  • win7启动发生异常i/0错误
  • linux 磁带机
  • linux内核文件夹
  • 示例代码
  • 批处理 dir
  • jquery1
  • 详解如何使用pcem安装windows 98 csdn
  • python第九套答案
  • 原生js import
  • socket客户端发送数据
  • 下列关于javascript的叙述正确的有
  • javascript定义数组的方法
  • jQuery mobile的header和footer在点击屏幕的时候消失的解决办法
  • jquery foreach循环
  • 税控盘税务数字书驱动找不到应用程序是咋回事
  • 增值税纳税申报操作流程
  • 2023年内蒙古房贷利率
  • 残疾人保障金如何填报
  • 出售144平方米以内的房子
  • 税务局基层党建工作汇报
  • 新税法折旧年限怎么算
  • 发票是去国税还是地税
  • 天津市东丽区军粮城派出所电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设