关于flock文件锁的阻塞与非阻塞
生活随笔
收集整理的這篇文章主要介紹了
关于flock文件锁的阻塞与非阻塞
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
阻塞模式,程序會一直等待。
<?php $fp = fopen("lock.txt", "r"); if(flock($fp,LOCK_EX)) { //code flock($fp,LOCK_UN); } fclose($fp); ?>非阻塞模式,如果文件被占用直接返回false
<?php $fp = fopen("lock.txt", "r"); if(flock($fp,LOCK_EX | LOCK_NB)) { //code flock($fp,LOCK_UN); } else { echo "error"; }fclose($fp); ?>?阻塞時設置超時時間
if ($fp = fopen($fileName, 'a')) {$startTime = microtime();do {$canWrite = flock($fp, LOCK_EX);if (!$canWrite) {usleep(round(rand(0, 100) * 1000));}} while ((!$canWrite) && ((microtime() - $startTime) < 1000));if ($canWrite) {fwrite($fp, $dataToSave);}fclose($fp); }?
轉載于:https://www.cnblogs.com/88phper/p/8650338.html
總結
以上是生活随笔為你收集整理的关于flock文件锁的阻塞与非阻塞的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2 - Hexo + GitHub 搭建
- 下一篇: 【虾说区块链】入门区块链,先学分布式系统