8.7 文件锁处机制
最后更新于:2022-04-02 00:20:51
文件锁机制一般在单一打开文件的时候根本看不到效果。这一块的学习有一点点抽象。
大家不要去思考怎么实现的呀?
为什么看不到效果呀?
答:因为电脑的操作太快了,基本上是毫秒级的。所以这个实验其实是看不到效果的。
这一章了解文件锁的基本概念即可,熟悉文件锁函数和锁机制。
文件锁的用途:
若一个人在写入一个文件,另外一个人同时也打个了这个文件进行写入文件。
这情况下,如果遇到一定的碰撞概率的话,不知道到底谁的操作为准。
因此,这个时候我们引入锁机制。
若用户A在写入或者读取这个文件的时候,将文件加上共享锁。我可以读,其他人也可以读。
但是,我如果这与的时候。我使用独占锁。这个文件归我了,你们都别动,除非我将文件锁进行释放。
注意:加上了文件锁后要注意释放。
我们来看看这个函数:
> bool flock ( resource $handle , int $operation)
功能:轻便的咨询文件锁定
我们来看看锁类型:
| 锁类型 | 说明 |
| -- | -- |
| LOCK_SH | 取得共享锁定(读取的程序) |
|LOCK_EX |取得独占锁定(写入的程序 |
| LOCK_UN | 释放锁定(无论共享或独占)|
我们接下来把demo.txt加上一个独占锁,进行写入操作。
~~~
~~~
说明:
1. 上例中我为了写入文件,把文件加上了独占锁。
2. 如果我操作完成,写入完成后,解除掉了独占锁。
3. 如果是在读取文件的时候,大家可加按照同样的处理思路加上共享锁。
';