代码库
  • 首页
  • html模板
  • Jquery插件
  • 代码文章
  • 百宝箱
  • 网站导航
  • 编程代码
    • PHP
    • Jquery
    • DivCss
    • Mysql
    • linux
  • 程序代码
    • 织梦Cms
  • php
  • jquery
  • divcss
  • 网站建设500起 APP小程序独开
  • HTML模板全站下载388元
  • COMODO通配符SSL证书330元
  • 广告位招租:515856299
  • 广告位招租:515856299
  • 广告位招租:515856299
  • 广告位招租:515856299
  • 广告位招租:515856299
  • 广告位招租:515856299
  • 广告位招租:515856299
  • 广告位招租:515856299
  • 广告位招租:515856299
  • 广告位招租:515856299
  • 广告位招租:515856299
  • 广告位招租:515856299
  • 广告位招租:515856299
  • 领取上云大礼包单笔最高立减1500元
  • 服务器0元试用,首购低至0.9元/月起

PHP文件锁处理高并发

分类:PHP人气:2153

利用flock()函数对文件进行加锁(排它锁),实现并发按序进行。

flock(file,lock,block)有三个参数。

file:已经打开的文件

ock:锁的类型
  • LOCK_SH:共享锁(读锁)
  • LOCK_EX:独占锁定(排它锁,写锁)
  • LOCK_UN:解锁
  • LOCK_NB:如果希望在文件锁定时阻塞进程,那么需要加上该参数
block:设置为true的时候,锁定文件时,会阻止其他进程
class Order{ 
    /**
     * 阻塞模式(后面的进程会一直等待前面的进程执行完毕)
     */
    public function createOrder1(){
        $file = fopen(__DIR__.'/dmaku.txt','w+');
        //加锁
        if(flock($file,LOCK_EX)){
            //TODO 执行业务代码
            flock($file,LOCK_UN);//解锁
        }
        //关闭文件
        fclose($file);
    } 
    /**
     * 非阻塞模式(只要当前文件有锁存在,那么直接返回)
     */
    public function createOrder2(){
        $file = fopen(__DIR__.'/dmaku.txt','w+');
        //加锁
        if(flock($file,LOCK_EX|LOCK_NB)){
            //TODO 执行业务代码
            flock($file,LOCK_UN);//解锁
        }else{
            //TODO 执行业务代码 返回系统繁忙等错误提示
        }
        //关闭文件
        fclose($file);
    }
}
标签:文件锁
PREVIOUS:js 上传下载excle文件
NEXT:php去除所有空格
  • 截取中文
  • 判断手机
  • 公共函数
  • 邮件
  • CURL
  • 生成二维码
  • 对象
  • 转农历
  • 压缩成
  • PHP取整
  • 定时
  • 随机颜色
  • 遍历
  • 使用文本
  • substr
  • php阳历
  • 异步
  • 下载图片
  • 模拟登录
  • 计算函数
  • sqlite_fetch_array
  • json
  • PHP开发
  • mysqli
  • 解析
  • https
  • 指定时间日
  • 布尔类型
  • 检查
  • 文件
  • 文本转换
  • 文件大小
  • Token
  • 删除
  • SQLite
  • 中文字符串
  • 验证码
  • php7
  • PHPMailer
  • 防盗代码
  • 防止
  • 正则匹配
  • 日志
  • 标签
  • 并清除BOM信息
  • 编码
  • trim
  • 起名
  • 字符串
  • 二维数组
  • 重定向
  • 二维码
  • 数据库
  • sqlite_create_function
  • 多图片
  • 域名
最新模板
  • UED用户体验设计师网站模板

    这是一套UED用户体验设计师网站模板是一款紫色渐变大气UED用户体验设计师网站模板下载

  • 数字广告推广公司网站模板

    这是一套数字广告推广公司网站模板是一款推广企业响应式网站模板下载

  • 美食自媒体博客主页模板

    这是一套美食自媒体博客主页模板是一款美食爱好者个人博客网站模板下载

  • 84消毒液洁具企业网站模板

    这是一套84消毒液洁具企业网站模板是一款消毒清洁用品洁具企业网站模板下载

  • 婚礼营销策划公司网站模板

    这是一套婚礼营销策划公司网站模板是一款红色宽屏大气的婚礼策划网站模板下载

热门推荐
  • 1php 当前时间加一天
  • 2php指定时间日期加一天/一周/一月/一年
  • 3PHP支付宝小程序授权登录
  • 4PHP微信浏览器自定义分享内容
  • 5php支付宝小程序支付
  • 6PHP取整数四种方法
  • 7php 写出text文件
  • 8php去除所有空格
  • 9PHP文件锁处理高并发
  • 10php格式化数字
  • 11php多中重定向网页跳转
  • 12php对比两个指定的日期
  • 13php获取今天、昨天、明天的日期
  • 14php获取上一页面url地址
  • 15php字符串查找strstr strpos
百宝箱
  • CSS压缩格式化

    CSS压缩

  • html格式化

    html格式化

  • 繁体字转换器

    繁体字转换

  • JSON检验

    JSON检验

  • MD5加密

    MD5加密

  • css3动画

    css3动画

© 2016-2021 代码库关于我们网站导航网站地图皖ICP备14004357号
代码库