zoukankan      html  css  js  c++  java
  • php 文件锁

    <?php
    /**
     * Created by PhpStorm.
     * User: Administrator
     * Date: 2018/1/6
     * Time: 11:30
     */
    
    class FileLock{
    
        //文件锁存放路径
        private $path='';
    
        //文件句柄
        private $fp='';
    
        //锁文件
        private $lockFile='';
    
        /**
         * 构造函数
         * @param string $path 锁的存放目录
         * @param string $name 锁 KEY
         */
        public function __construct($name,$path=''){
            if(empty($path)) $this->path=RUNTIME_PATH;
            else $this->path=$path;
            $this->lockFile=$this->path.md5($name).'.lock';
        }
    
        /**
         * 加锁
         */
        public function lock(){
            $this->fp=fopen($this->lockFile,'a+');
            if($this->fp===false){
                return false;
            }
            return flock($this->fp,LOCK_EX);//获取独占锁
        }
    
        /**
         * 解锁
         */
        public function unlock(){
            if($this->fp!==false){
                @flock($this->fp,LOCK_UN);
                clearstatcache();
            }
            @fclose($this->fp);
            @unlink($this->lockFile);
        }
    }
    
  • 相关阅读:
    THD 变量存入threads中
    一个简单的optimizer_trace示例
    LINUX HOOK
    网易杭研后台技术中心的博客
    INNOSQL.官网
    淘宝 印风 UDF
    mysql原创博客
    mysql 主从图
    THD
    开源利器函数调用图
  • 原文地址:https://www.cnblogs.com/fuqian/p/11736430.html
Copyright © 2011-2022 走看看