亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP 文件鎖

發布時間:2020-07-14 11:28:11 來源:網絡 閱讀:1497 作者:努力的C 欄目:web開發

之前面試拼多多的時候記得提到過文件鎖這樣的一個概念。當時并不知道是什么。今天工作了,遇到過數據庫鎖,MC鎖,今天又偶爾發現了PHP自帶的文件鎖。flock

http://php.net/manual/zh/function.flock.php

bool flock ( resource $handle , int $operation [, int &$wouldblock ] )

flock() 允許執行一個簡單的可以在任何平臺中使用的讀取/寫入模型(包括大部分的 Unix 派生版和甚至是 Windows)。

在 PHP 5.3.2版本之前,鎖也會被 fclose() 釋放(在腳本結束后會自動調用)。

PHP 支持以咨詢方式(也就是說所有訪問程序必須使用同一方式鎖定, 否則它不會工作)鎖定全部文件的一種輕便方法。 默認情況下,這個函數會阻塞到獲取鎖;這可以通過下面文檔中 LOCK_NB 選項來控制(在非 Windows 平臺上)。

handle
文件系統指針,是典型地由 fopen() 創建的 resource(資源)。

operation
operation 可以是以下值之一:

LOCK_SH取得共享鎖定(讀取的程序)。
LOCK_EX 取得獨占鎖定(寫入的程序。
LOCK_UN 釋放鎖定(無論共享或獨占)。
如果不希望 flock() 在鎖定時堵塞,則是 LOCK_NB(Windows 上還不支持)。

wouldblock
如果鎖定會堵塞的話(EWOULDBLOCK 錯誤碼情況下),可選的第三個參數會被設置為 TRUE。(Windows 上不支持)

返回值 ?

成功時返回 TRUE, 或者在失敗時返回 FALSE。

<?php
$fp = fopen('./a.lock','r');
if(flock($fp,LOCK_EX)){
echo date("Y-m-d H:i:s",time());
sleep(10);
flock($fp,LOCK_UN);
}else {
echo "LOCKing.........";
}
fclose($fp);

這是獨占鎖,誰搶到了,別就只能阻塞等待結束了。

<?php
$fp = fopen('./a.lock','r');
if(flock($fp,LOCK_EX | LOCK_NB)){
echo date("Y-m-d H:i:s",time());
sleep(10);
flock($fp,LOCK_UN);
}else {
echo "LOCKing.........";
}
fclose($fp);

如果不想阻塞等待,可以用LOCK_NB 直接返回else中的內容

<?php
$fp = fopen('./a.lock','r');
if(flock($fp,LOCK_SH)){
echo date("Y-m-d H:i:s",time());
sleep(10);
flock($fp,LOCK_UN);
}else {
echo "LOCKing.........";
}
fclose($fp);

這里是共享鎖,可以一起讀寫。。。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

德江县| 乐至县| 鸡西市| 道孚县| 宜昌市| 青龙| 翁源县| 大庆市| 华亭县| 金堂县| 额济纳旗| 古浪县| 宁蒗| 光泽县| 陆丰市| 旬阳县| 土默特左旗| 济南市| 工布江达县| 耿马| 西乡县| 朝阳区| 宁夏| 醴陵市| 武宣县| 庆城县| 延边| 永善县| 那坡县| 上饶市| 合肥市| 东海县| 武清区| 武山县| 电白县| 二连浩特市| 磴口县| 沙坪坝区| 新干县| 大理市| 平定县|