在上篇的文章中,我们了解了为什么需要锁,以及锁的应用场景。
那么,该怎么用锁来进行并发业务逻辑呢?...首先,我们要分清楚,锁有2种,共享锁,以及独占锁
共享锁
共享锁用于某个文件不会被写,或者不会被更新(也就是只读)的情况,加了共享锁的文件,只能再加共享锁,而不能加独占锁
例如:
$file = fopen...同样,如果在上了共享锁的情况,增加独占锁,则该进程会阻塞,直到共享锁释放:
<?...,关于操作这个文件的代码,都需要增加锁,不管是独占锁还是共享锁,否则数据还是会出现问题
例如:
当加好共享锁之后,运行这段代码:
<?...并发解决
还记得第一篇并发锁的文章吗?通过这个方式,就可以实现同一个文件在同一时间自有一个进程访问了