• 技术文章 >后端开发 >php教程

    php使用flock阻塞和非阻塞写入文件方法对比

    小云云小云云2018-02-08 09:41:51原创699
    本文主要和大家分享php使用flock阻塞和非阻塞写入文件方法对比。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。

    阻塞写入代码:(所有程序会等待上次程序执行结束才会执行,30秒会超时)

    <?php 
    $file = fopen("test.txt","w+"); 
     
    $t1 = microtime(TRUE); 
    if (flock($file,LOCK_EX)) 
    { 
     sleep(10); 
     fwrite($file,"Write something"); 
     flock($file,LOCK_UN); 
     echo "Ok locking file!"; 
    } 
    else 
    { 
     echo "Error locking file!"; 
    } 
     
    fclose($file); 
     
    $t2 = microtime(TRUE); 
    echo sprintf("%.6f",($t2-$t1));

    非阻塞写入代码:(只要文件被占用,则显示Error locking file!)

    <?php 
    $file = fopen("test.txt","a+"); 
     
    $t1 = microtime(TRUE); 
    if (flock($file,LOCK_EX|LOCK_NB)) 
    { 
     sleep(10); 
     fwrite($file,"Write something"); 
     flock($file,LOCK_UN); 
     echo "Ok locking file!"; 
    } 
    else 
    { 
     echo "Error locking file!"; 
    } 
     
    fclose($file); 
     
    $t2 = microtime(TRUE); 
    echo sprintf("%.6f",($t2-$t1));

    相关推荐:

    php中关于协程与阻塞的深入理解

    经典型和非阻塞型<script>标签用法实例详解

    详解同步、异步、阻塞和非阻塞的不同之处

    以上就是php使用flock阻塞和非阻塞写入文件方法对比的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:flock php 写入
    上一篇:PHP正则匹配的简单操作方法 下一篇:form实现自动提交代码分享
    PHP编程就业班

    相关文章推荐

    • PHP高并发实例详解之解决商品库存超卖问题• 带你聊聊PHP中的泛型之基础知识浅析• 十天学会php之第三天_php基础• 再点一次Active的名,我把你的函数功能扩充了一下,嘻嘻,现在能_PHP• 基于php实现七牛抓取远程图片_php实例

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网