POSIX信号量与文件锁的深入解析
1. 系统V信号量的额外用途
在深入探讨POSIX信号量之前,先了解一下系统V信号量的一个额外用途:在进程间传递整数。例如,客户端若想将其进程ID传递给服务器,可获取一个信号量并将其值设置为自身的进程ID,随后服务器查看该信号量的值就能得到这个进程ID。由于信号量集可以包含信号量数组,所以也能以此方式传递整数数组。
2. POSIX信号量概述
POSIX信号量系统调用是POSIX标准的一部分,但属于可选部分。在使用前,需检查 _POSIX_SEMAPHORES 特性测试宏来确定系统是否支持。截至目前,FreeBSD、Darwin和Linux系统暂未支持。
3. 命名POSIX信号量
- 特点 :相较于系统V信号量,POSIX信号量更简单易用,有五个系统调用与之前的
SimpleSem接口对应。 - 系统调用
-
sem_open:用于打开命名信号量。有两种形式,一种不包含O_CREAT标志,另一种包含该标志,可用于创建信号量。
-
#include <semaphore.h>
sem_t *sem_open(
const char *name,
int flags
)
超级会员免费看
订阅专栏 解锁全文
1103

被折叠的 条评论
为什么被折叠?



