系统编程之posix匿名信号量
posix匿名信号量用于线程间的同步或者说通信,(不常用)若用于进程间同步需要配合共享内存使用
如何操作posix匿名信号量?
1.创建匿名信号量
功能 初始化、销毁 POSIX 无名信号量
- 头文件 #include <semaphore.h>
- 函数原型
int sem_init(sem_t *sem, int pshared, unsigned int value);
int sem_destroy(sem_t *sem);
参数 | Value |
---|---|
sem | 匿名信号量变量名称 |
pshared | 该信号量的作用范围:0 为线程间,非 0 为进程间(一般不用) |
value | 初始值 |
- 返回值
成功 0
失败 -1
如何使用? | 头文件: #include <semaphore.h> |
---|---|
信号量的P操作 | int sem_wait(sem_t *sem) |
信号量V操作 | int sem_post(sem_t *sem) |
删除posix有名信号量 | int sem_unlink(const char *name); |
关闭posix信号量 | int sem_close(sem_t *sem); |
返回值 | 成功 0 失败 -1 |