加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php 文件锁

发布时间:2020-12-13 21:26:05 所属栏目:PHP教程 来源:网络整理
导读:? php class Order{ /* * * 阻塞模式(后面的进程会一直等待前面的进程执行完毕) */ public function createOrder1(){ $file = fopen (__DIR__.‘/lock.txt‘,‘w+‘ ); // 加锁 if ( flock ( $file , LOCK_EX)){ // TODO 执行业务代码 sleep (5 ); echo ti
<?php
class Order{
    /**
     * 阻塞模式(后面的进程会一直等待前面的进程执行完毕)
     */
    public function createOrder1(){
        $file = fopen(__DIR__.‘/lock.txt‘,‘w+‘);
        //加锁
        if(flock($file,LOCK_EX)){
            //TODO 执行业务代码
            sleep(5);
            echo time();
            flock($file,LOCK_UN);//解锁
        }
        //关闭文件
        fclose($file);
    }
 
    /**
     * 非阻塞模式(只要当前文件有锁存在,那么直接返回)
     */
    public function createOrder2(){
        $file = fopen(__DIR__.‘/lock.txt‘,LOCK_EX|LOCK_NB)){
            //TODO 执行业务代码
            sleep(5);
            echo time();
            flock($file,LOCK_UN);//解锁
        }else{
            //TODO 执行业务代码 返回系统繁忙等错误提示
            echo "系统繁忙";
        }
        //关闭文件
        fclose($file);
    }
}
$a = new Order();
$a->createOrder1();

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读