最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

模擬flock實現(xiàn)文件鎖定

 更新時間:2007年02月14日 00:00:00   作者:  
主要提供了一種思路。
  $lock0和$lock1就是文件鎖定的標識符,當文件被某一用戶打開的時候,$lock0和$lock1就會產(chǎn)生,當該文件沒打開則不存在。
  其實最關(guān)鍵就是有個標識符來表示當前這個文件的狀態(tài), $lock0和$lock1就是起這樣的作用。

復(fù)制代碼 代碼如下:

<?php  

// Lock a file, timing out if it takes too long.  
function lock ($lock, $tries) {  
       $lock0 = ".{$lock}0";  
       $lock1 = ".{$lock}1";  
       for ($i=0; $i<$tries; $i++) {  
               if (!is_file($lock0)) {  
                       touch($lock0);  
                       if (!is_file($lock1)) {  
                               touch($lock1);  
                               return 1;  
                       }  
               }  
               usleep(100);  
       }  
       return 0;  
}  

// Unlock a file.  
function unlock ($lock) {  
       unlink(".{$lock}1");  
       unlink(".{$lock}0");  
}  

// Usage example.  
$filename = "somefile";  
$data = "stuff and thingsn";  
$tries = 10;  
if (lock($filename, $tries)) {  
       $h = fopen($filename, "a") or die();  
       fwrite($h, $data);  
       fclose($h);  
       /**  
         * 另外一個進程寫文件,檢查是否鎖定  
       */  
       if (lock($filename, $tries)) {  
               $h2 = fopen($filename, "a") or die();  
               fwrite($h2,'check lock');  
               fclose($h2);  
        }else{  
            //die("Failed to lock $filename after ".($tries*100)." milliseconds!";  
        }  
        unlock($filename);  
} else {  
       //die("Failed to lock $filename after ".($tries*100)." milliseconds!";  
}  
?> 

相關(guān)文章

最新評論

陈巴尔虎旗| 即墨市| 临海市| 历史| 嘉鱼县| 瓦房店市| 安阳市| 莲花县| 措美县| 调兵山市| 扶沟县| 榆中县| 玉屏| 盘锦市| 瑞金市| 枣庄市| 侯马市| 舟曲县| 保定市| 永年县| 吴旗县| 温宿县| 罗定市| 高密市| 牙克石市| 东海县| 台北县| 广安市| 遂平县| 湟中县| 漳州市| 六盘水市| 永兴县| 沛县| 涪陵区| 广丰县| 亳州市| 浮山县| 将乐县| 罗江县| 巴楚县|