您的位置:首页 > 编程语言 > C语言/C++

linxu c语言 fcntl函数和flock函数区别 【转】

2013-12-10 16:24 218 查看
flock和fcntl都有锁的功能,但他们还有一点小小的区别:

1.flock只能加全局锁,fcntl可以加全局锁也可以加局部锁。

2.当一个进程用flock给一个文件加锁时,用另一个进程再给这个文件加锁,它会阻塞或者也可以返回加锁失败(可以自己设置)。

3.当一个进程用fcntl给一个文件加锁时,用另一个进程去读或写文件时必须先获取加锁的信息,然后在给这个文件加锁。

3.当给一个文件加fcntl的独占锁后,再给这个文件加flock的独占锁,其会进入阻塞状态。

4.当给一个文件加flock的独占锁后,用fcntl去获取这个锁信息获取不到,再用fcntl仍然可以给文件加锁。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: