c - 共享文件描述符上的共享锁

标签 c linux locking file-locking

如果我们想在线程/进程之间共享锁,我们能否在共享文件描述符上同时使用 fcntl 锁定和 flock 锁定(不同时)?

最佳答案

fcntl 锁是每个进程的锁。因此,您不能在进程之间“共享锁”,但可以在一个进程的线程之间“共享锁”。

flock 锁是每个文件表条目。因此,如果一个进程打开一个文件,然后 fork 多次,则每个进程的文件描述符副本将操作同一个锁。 (不过,我认为这不是一个非常有用的功能。)

关于c - 共享文件描述符上的共享锁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11727260/

相关文章:

c - QuickSort 排序正整数,有时排序后第一个值是负整数

linux - 在多个文件中搜索日期/时间

linux - Qt 无法识别设计师

c++ - Linux 生成文件中的 undefined reference

sql-server - 返回 "select top n"查询中未锁定的行

C - 格式指定 int 类型,但参数的类型为 long

c - MINGW编译错误: void value not ignored as it ought to be

c - 为自己的终端执行

java - 有条件地定义同步块(synchronized block)

SQL 原子增量和锁定策略 - 这安全吗?