在上篇的文章中,我们了解了为什么需要锁,以及锁的应用场景。
那么,该怎么用锁来进行并发业务逻辑呢?...在php中,已经提供了关于锁的函数 flock
flock(file,lock,block)
参数 描述
file 必需。规定要锁定或释放的已打开的文件。
lock 必需。规定要使用哪种锁定类型。...同样,如果在上了共享锁的情况,增加独占锁,则该进程会阻塞,直到共享锁释放:
php
$file = fopen('1.txt','r+');
if (flock($file,LOCK_EX)){
echo "加锁成功\n";
//读取一次文件的数据
...其他
非阻塞
通过在flock函数中的参数中增加LOCK_NB,可以避免阻塞,当不能加锁时会直接返回失败:
<?