flock 函数在许多编程语言中都用来管理文件锁定,以确保多个进程/线程不会同时访问同一个文件。下面是在C语言中的 flock 函数的简要说明:
头文件
要使用 flock 函数,你需要包含以下头文件:
#include <sys/file.h>
函数原型
int flock(int fd, int operation);
参数
- fd: 文件描述符,是一个通过 open 或 fileno 函数获得的文件描述符。
- operation: 执行的锁操作,通常使用以下值之一:
- LOCK_SH:共享锁(Shared lock)。多个进程可以同时持有共享锁,但如果某一个进程持有排它锁,那么其他进程将无法获得共享锁。
- LOCK_EX:排它锁(Exclusive lock)。如果某个进程获得了排它锁,其他任何进程都无法再获得该文件的共享锁或排它锁。
- LOCK_UN:释放锁(Unlock)。
- LOCK_NB:非阻塞模式。与 LOCK_SH 或 LOCK_EX 结合使用,如果锁不可用,则 flock 将立即返回,而不是阻塞等待。
返回值
- 成功:返回 0。
- 失败:返回 -1,并设置 errno 以指示错误。
示例代码
以下是一个简单的示例,演示如何使用 flock 函数:
标签:函数,int,LOCK,进程,flock,共享 From: https://blog.csdn.net/eidolon_foot/article/details/141126876