C语言 NOTE36

系统编程之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
发布了52 篇原创文章 · 获赞 2 · 访问量 1990

猜你喜欢

转载自blog.csdn.net/weixin_42191545/article/details/104219753