PHP利用文件锁简单实现防止并发运行函数

时间:13-10-16 栏目:网站开发 作者:admin 评论:0 点击: 10,938 次

 

某函数:runone 运行时间不可控制,可能为0.x秒或几分钟

function runone(){

}

因为某些原因(比如网站的某的更新过程),不希望此函数同一时间被多次运行,最简单的办法是利用PHP  flock函数对文件独占锁功能实现。

修改后的代码如下:

function runone(){

    $file ='RUNONE.lock'; 
    $fp = fopen($file , 'w');   
    if(flock($fp , LOCK_SH | LOCK_NB)){
        if(flock($fp , LOCK_EX)){
            self::runone_lock();
        }else{
            pecho('不能運行LOCK_EX FAIL');	
        }
        flock($fp , LOCK_UN);    		
    }else{
        pecho($id.' 跳過。不能運行LOCK_SH | LOCK_NB FAIL');		
    }
    fclose($fp);
}
function runone_lock(){

}

 

 

参考:

http://www.w3school.com.cn/php/func_filesystem_flock.asp

http://www.111cn.net/phper/php/44869.htm

 

 

声明: 本文由( admin )原创编译,转载请保留链接: PHP利用文件锁简单实现防止并发运行函数

PHP利用文件锁简单实现防止并发运行函数:等您坐沙发呢!

发表评论


------====== 本站公告 ======------
联系信息:
电话:19970108113(微信同号) QQ:3142401606
支付宝:https://me.alipay.com/lxq73061
相关插件程序等信息均会在站内发布,敬请关注。

读者排行