PHP利用文件锁实现并发加锁
分类 网站技术/村民张先生 发布于 2019-11-05 20:45
阻塞模式
此模式下会等待文件锁释放后继续执行。
<?php
$fp = fopen("lock.txt", "w+");
if(flock($fp, LOCK_EX)) {
//所需执行的代码
flock($fp, LOCK_UN);
}
fclose($fp);
?>
非阻塞模式
此模式下会直接跳过所需执行的任务。
<?php
$fp = fopen("lock.txt", "w+");
if(flock($fp, LOCK_EX | LOCK_NB)) {
//所需执行的代码
flock($fp, LOCK_UN);
} else {
echo "系统繁忙,请稍后再试";
}
fclose($fp);
?>
欢迎谈谈你的看法(无须登录) *正文中请勿包含"http://"否则将被拦截