php文件锁 阻塞区别,php文件锁阻塞模式和非阻塞模式

1、阻塞模式(如果其它进程已经加锁文件,当前进程会等其它进程解锁后继续执行)

$handle = fopen(‘lock.txt‘, ‘r‘);

//锁定

if(flock($handle,LOCK_EX)){

//to do something

//解锁

flock($handle, LOCK_UN);

}

//关闭文件

fclose($handle);

?>

2、非阻塞模式(如果其它进程已经加锁文件,当前进程会执行else里面的内容,不会等待文件解锁)

$handle = fopen(‘lock.txt‘, ‘r‘);

if(flock($handle, LOCK_EX | LOCK_NB)){

//do something

}else{

// 提示系统繁忙

}

flock($handle, LOCK_UN);

fcolse($handle);

?>

注:windows不支持LOCK_NB类型锁定文件,所以,非阻塞模式不能在windows下做验证(笔者就遇到这个坑,一直不能执行else里面的内容,Linux系统可以执行)

应用场景:当执行一个脚本而阻塞其它脚本时,如:订单状态更改处理

原文:https://www.cnblogs.com/wheats/p/11915510.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/485683.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

javaweb简要介绍,虚拟路径,虚拟主机

1. 静态,动态:是否随时间,地点,用户操作的改变而改变 动态网页 需要使用到 服务端脚本语言(JSP) 2. 架构: CS: Client Server eg:qq,微信,cs游戏 不足: 1.如果软…

c#之using关键字

1、using可以引入命名空间; 2、在using语句里声明的变量,使用完后会自动调用Dispose方法(实现IDisposable接口)。 using 语句允许程序员指定使用资源的对象应当何时释放资源。using 语句中使用的对象必须实现 IDisposable 接口。此…

物理学中的不确定性

来源:人机与认知实验室吴骏(香港中文大学通识教育基础课程讲师)【物理研究的只是模型,而不是真理】物理学中的确定性问题缘起于我正在教授的《与自然对话》[1] 这门课。其中节选了詹姆士华生 (James Watson) 在2003年写的一本畅销…

php链接javascript,javascript - 添加类=“行为链接”到活动页面 - PHP或JS - SO中文参考 - www.soinside.com...

我在HTML页面简单的代码&#xff1a;HomeUsersContact注&#xff1a;(在配置文件中)BASE_URL <?php define(BASE_URL, http://localhost); ?>BASE_MEMBERS <?php define(BASE_MEMBERS, BASE_URL . /members/); ?>现在&#xff0c;我需要什么&#xff1f;上课…

JSP执行流程

第一次访问&#xff1a;服务端将jsp翻译成java&#xff0c;再将Java编译成class文件 第二次访问&#xff1a;直接访问class文件较快&#xff0c;所以第一次访问比较慢&#xff0c;以后就快了 &#xff08;如果服务器代码修改了&#xff0c;则需要重新进行翻译&#xff0c;编译…

通俗易懂的来理解Iaas,Paas,SaaS

首先我们先来了解一下这几个单词的意思和完全的英文 Iaas:Infrastructure as a service 基础设施即服务 Paas:Platform as a service 平台即服务 Saas:Sofware as a service 软件基服务 怎么说&#xff0c;看这几个上面的单词是不是看的一脸懵逼了&#xff0c;不是说好了…

玩电子游戏的神经网络,告诉我们大脑是如何决策的

来源&#xff1a;混沌巡洋舰当你开车的时候&#xff0c;你的大脑会接收大量的视觉信息&#xff0c;并用它来做出驾驶的决定&#xff0c;比如什么时候刹车或者换车道。大脑需要决定在你的视野中哪些信息是做出这些决定所必需的。例如&#xff0c;另一辆车的位置是非常重要的&…

java.lang.math.trunc,java – JPA/Hibernate返回BigDecimal不长

我正在计算按月分组的SUMQuery q entityManager.createNativeQuery(qlString);q.setParameter("program", program);SuppressWarnings("unchecked")List resultList (List) q.getResultList();long tend System.currentTimeMillis();当我传入两个result…

get,post请求的编码统一

get提交方式&#xff1a;methpd"get"与地址栏&#xff0c;超链接(<href"xx">)请求方式&#xff0c;默认都属于get提交方式 http://localhost:8080/Test/front/show.jsp&#xff1f;unameadmin&upwd123&uhobbies%E8%B6%B3%E7%90%83&uhob…

编程开发之--java多线程学习总结(3)类锁

2、使用方法同步 package com.lfy.ThreadsSynchronize;/*** 1、使用同步方法* 语法&#xff1a;即用 synchronized 关键字修饰方法(注意是在1个对象中用锁还是多个对象之间用锁&#xff0c;1个对象级用锁&#xff0c;只能是同一个对象&#xff0c;多个对象之间用锁&#xff0…

2021年的第一盆冷水:有人说别太把图神经网络当回事儿

来源&#xff1a;数学中国图神经网络&#xff08;GNN&#xff09;是机器学习中最热门的领域之一&#xff0c;在过去短短数月内就有多篇优秀的综述论文。但数据科学家 Matt Ranger 对 GNN 却并不感冒。他认为这方面的研究会取得进展&#xff0c;但其他研究方向或许更重要。博客链…

phpwindexp.php,phpwind Exp 漏洞利用

phpwind Exp 漏洞利用2021-01-23 12:07:25644忘记什么时候我就拿到了,一直没发挥.由于某些原因一直没发出来,毕竟不是原创,现在有人帖出来了,我也放出来.程序代码print_r("------------------------------------------------------------------ExploitForPhpwind5.XVersio…

JSP页面元素,内置对象及request详解

JSP的页面元素&#xff1a; a. 脚本Scriptlet 1.<% 局部变量&#xff0c;Java语句 %> 2.<%! 全局变量&#xff0c;定义方法 %> 3.<% 输出表达式 %> 一般而言&#xff0c;修改web.xml&#xff0c;配置文件&#xff0c;Java&#xff0c;需要重启tomcat服务&am…

生活经验

如果把插上耳机的手机放在衣服口袋里面&#xff0c;特别是大的衣服口袋&#xff0c;手机还能来回动。这个时候耳机很容易团成一团&#xff0c;极容易把线折断。 转载于:https://www.cnblogs.com/bakblog/p/9294753.html

美国科学院报告《无止境的前沿:科学的未来75年》

来源&#xff1a;科技咨询频道作者&#xff1a;刘昊 张志强 曹玲静编译&#xff1a;刘昊 张志强 曹玲静 &#xff08;中国科学院成都文献情报中心&#xff09;2020年12月17日&#xff0c;美国国家科学院出版报告《无止境的前沿——科学的未来75年》&#xff08;The Endless Fro…

jsp内置对象--response

response&#xff1a;响应对象 提供的方法&#xff1a;void addcookie(Cookie cookie);服务端向客户端增加一个cookie对象 void sendRedirect(String location) throws IOException:页面跳转的一种方式&#xff08;重定向&#xff09; void setContetType(String type) :设置…

php获取外部URL,使用PHP从外部API / URL获取信息

1)不要使用file_get_contents()(如果可以帮助的话)这是因为您需要enable fopen_wrappers才能使file_get_contents()能够处理外部源.有时这是关闭的(取决于您的主机;如共享主机),因此您的应用程序将会中断.一般来说,一个很好的选择是curl()2)使用curl()执行GET请求这很简单.使用…

AR增强现实技术解读

来源&#xff1a;网络 AR增强现实&#xff0c;是用户对现实世界感知的新技术。一般认为&#xff0c;AR技术的出现源于虚拟现实技术&#xff08;Virtual Reality&#xff0c;简称VR&#xff09;的发展&#xff0c;但二者存在明显的差别。传统VR技术给予用户一种在虚拟世界中完全…

Leetcode--343. 整数拆分

给定一个正整数 n&#xff0c;将其拆分为至少两个正整数的和&#xff0c;并使这些整数的乘积最大化。 返回你可以获得的最大乘积。 示例 1: 输入: 2 输出: 1 解释: 2 1 1, 1 1 1。 示例 2: 输入: 10 输出: 36 解释: 10 3 3 4, 3 3 4 36。 说明: 你可以假设 n 不小…

php点链接直接现在文件吗,PHP实现点击a标签的href做链接时,直接保存文件(任何类型),而...

一、 index.php中&#xff1a; ?php echo a hrefprocess.php?filenamehalo.mp3下载/a? process.php中&#xff1a; ?php header(Content-type: application/octet-stream);header(Content-Disposition: attachment; filename. basename($_GET[filename]).);header(Cont一、…