欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

簡單談?wù)?php 文件鎖

 更新時間:2017年02月19日 16:54:52   作者:hlcc  
PHP出現(xiàn)文件鎖與mysql表鎖有大概想的用法,就是同一時間只能讓一個人操作,這樣就避免了同時有多個人操作同一文件,這樣導致數(shù)據(jù)丟失的情況了,下面我來給大家介紹PHP文件鎖用法。

鎖機制之所以存在是因為并發(fā)導致的資源競爭,為了確保操作的有效性和完整性,可以通過鎖機制將并發(fā)狀態(tài)轉(zhuǎn)換成串行狀態(tài)。作為鎖機制中的一種,PHP的文件鎖也是為了應(yīng)對資源競爭。假設(shè)一個應(yīng)用場景,在存在較大并發(fā)的情況下,通過fwrite向文件尾部多次有序的寫入數(shù)據(jù),不加鎖的情況下會發(fā)生什么?多次有序的寫入操作相當于一個事務(wù),我們此時需要保證這個事務(wù)的完整性。

如果我們有兩個程序同時向某個文件中寫入數(shù)據(jù),為了保證數(shù)據(jù)的完整性,可以加一個文件鎖,先讓程序1執(zhí)行,程序1執(zhí)行完后,解鎖,再讓程序2執(zhí)行。實現(xiàn)代碼如下:

$fp = fopen('test.txt',"a");
$count = 10;
if (flock($fp, LOCK_EX)) {
for($i=1;$i<$count;$i++){
fwrite($fp, 'text2_'.$i."rn");
echo "test2".date('h:i:s') . "
";
sleep(1); 
echo "test2".date('h:i:s');
}
flock($fp , LOCK_UN);
}else{
echo "Couldn't lock the file !";
}
fclose($fp);

相關(guān)文章

最新評論