生如夏花的博客

专注于工业物联网行业数据采集,嵌入式Linux系统裁剪,5G智慧网关软件开发等

文件锁之flock

文件锁的作用:当第一个进程正在读或修改文件的某个部分时,使用文件锁可以阻止其他进程修改文件的相同部分。

因此文件锁可用于多个进程之间进行同步,防止进程间的竞争状态。

Linux系统支持两组给文件加锁的不同API,分别是fcntlflock。本节主要记录flock的实现原理以及使用方式。

文件锁之fcntl

文件锁的作用:当第一个进程正在读或修改文件的某个部分时,使用文件锁可以阻止其他进程修改文件的相同部分。

因此文件锁可用于多个进程之间进行同步,防止进程间的竞争状态。

Linux系统支持两组给文件加锁的不同API,分别是fcntlflock。本节主要记录fcntl的实现原理以及使用方式。

任意多个进程在同一个给定字节上都可以有一把共享读锁,但一个给定字节上仅能有一个进程持有一把独占写锁