zoukankan      html  css  js  c++  java
  • PHP写一段代码,确保多个进程同时写入一个文件成功

    这个需求是在软件设计过程常见的加锁。
    学计算机的同学都应该知道,这个是在《计算机操作系统》课程上有这个知识点。
    主要要考虑的是进程的同步,也就是进程对资源的互斥访问。
    OK,用程序说话吧!


    <?php
    function writefile( $filename, $data ){
     $fp = fopen( $filepath, 'a' );   //以追加的方式打开文件,返回的是指针
     do{
        usleep( 100 );       //暂停执行程序,参数是以微秒为单位的
     }while( !flock( $fp, LOCK_EX ) );  //以独享写入的方式锁定文件,成功则返回TRUE,否则FALSE
    }
     $res = fwrite( $fp, $data."/n" );  // 以追加的方式写入数据到打开的文件
     flock( $fp, LOCK_UN );      //解锁,以让别的进程进行锁定
     fcloce( $fp );           //关闭打开的文件指针
     return $res;            //返回写入结果
    ?>

    OK,代码还不算很多吧!这个不要记代码,重要的是要理解每一个函数的意思,以及每一个语句的意思。

  • 相关阅读:
    十天冲刺之一
    每日日报2021 4/30
    每日日报2021 4/29
    每日日报2021 4/28
    每日日报2021 4/27
    每日日报2021 4/26
    每日日报2021 4/24
    每日日报2021 4/23
    《梦断代码》读后感
    273. Integer to English Words
  • 原文地址:https://www.cnblogs.com/webStyle/p/3736207.html
Copyright © 2011-2022 走看看