首頁 > 後端開發 > php教程 > php使用flock阻塞和非阻塞寫入檔案方法對比

php使用flock阻塞和非阻塞寫入檔案方法對比

小云云
發布: 2023-03-20 06:28:01
原創
1630 人瀏覽過

本文主要和大家分享php使用flock阻塞和非阻塞寫入檔案方法比較。小編覺得蠻不錯的,現在就分享給大家,也給大家做個參考。一起跟著小編過來看看吧,希望能幫助大家。

阻塞寫入程式碼:(所有程式會等待上次程式執行結束才會執行,30秒會逾時)

<?php 
$file = fopen("test.txt","w+"); 
 
$t1 = microtime(TRUE); 
if (flock($file,LOCK_EX)) 
{ 
 sleep(10); 
 fwrite($file,"Write something"); 
 flock($file,LOCK_UN); 
 echo "Ok locking file!"; 
} 
else 
{ 
 echo "Error locking file!"; 
} 
 
fclose($file); 
 
$t2 = microtime(TRUE); 
echo sprintf("%.6f",($t2-$t1));
登入後複製

非阻塞寫入程式碼:(只要檔案被佔用,則顯示Error locking file!)

<?php 
$file = fopen("test.txt","a+"); 
 
$t1 = microtime(TRUE); 
if (flock($file,LOCK_EX|LOCK_NB)) 
{ 
 sleep(10); 
 fwrite($file,"Write something"); 
 flock($file,LOCK_UN); 
 echo "Ok locking file!"; 
} 
else 
{ 
 echo "Error locking file!"; 
} 
 
fclose($file); 
 
$t2 = microtime(TRUE); 
echo sprintf("%.6f",($t2-$t1));
登入後複製

相關推薦:

php中關於協程與阻塞的深入理解

#經典型與非阻塞型

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板