php鎖定檔案

2021-08-11 03:43:25 字數 752 閱讀 9849

一 概念

1.共享鎖和排他鎖

共享鎖(s鎖):如果事務t對資料a加上共享鎖後,則其他事務只能對a再加共享鎖,不能加排他鎖。獲准共享鎖的事務只能讀資料,不能修改資料。

排他鎖(x鎖):如果事務t對資料a加上排他鎖後,則其他事務不能再對a加任任何型別的封鎖。獲准排他鎖的事務既能讀資料,又能修改資料。

2.共享鎖下其它使用者可以併發讀取,查詢資料。但不能修改,增加,刪除資料。資源共享.

二 **

<?php

$filename = 'count.txt'; //宣告要開啟的檔案的名稱

$fd = fopen($filename,'w'); //以w形式開啟檔案

flock($fd, lock_ex); //鎖定檔案(獨佔共享,也叫排他鎖)

fwrite($fd, "php從基礎到專案實戰"); //向檔案中寫入資料

flock($fd, lock_un); //解除鎖定

fclose($fd); //關閉檔案指標

readfile($filename); //輸出檔案內容

?>

三 執行結果

php從基礎到專案實戰

php 檔案鎖定詳解flock

檔案鎖定 檔案鎖定分四種型別 取得共享鎖定 從檔案中讀取資料時使用 取得獨佔鎖定 向檔案中寫入資料時使用 釋放鎖定 無論共享或獨佔鎖,都用它釋放 附加鎖定 如果不希望flock 在鎖定時堵塞,則應在上述鎖定後加上改鎖 向檔案內寫檔案 param filename param message func...

PHP檔案鎖定寫入例項解析

function file write file name,text,mode a timeout 30 if timeout 0 retur程式設計客棧n false 其中flojibsieck int handle,int operation 函式操作的 www.cppcns.comhandle...

php 檢視檔案鎖定狀態 php檔案鎖死鎖怎麼辦

什麼是死鎖 學過作業系統的通同學,都了解多執行緒的概念。在多執行緒中訪問公共資源,需要對資源加鎖。訪問結束後,釋放鎖。如果沒有釋放鎖,那麼下乙個執行緒來獲取資源的時候就會永遠都無法獲取資源的鎖,於是這個執行緒死鎖了。那麼cgi是多執行緒的公共資源訪問導致的死鎖嗎?答案是no。1.cgi 是單執行緒程...