星草感觉

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

这个需求是在软件设计过程常见的加锁。
学计算机的同学都应该知道,这个是在《计算机操作系统》课程上有这个知识点。
主要要考虑的是进程的同步,也就是进程对资源的互斥访问。
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,代码还不算很多吧!这个不要记代码,重要的是要理解每一个函数的意思,以及每一个语句的意思。

posted on 2014-05-19 09:37  星草感觉  阅读(2316)  评论(0编辑  收藏  举报