taianxiaojia 2016-10-08
Linux POSIX IPC 有名信号量 无名信号量
#include<semaphore.h> #include<sys/stat.h> #include<fcntl.h>
//创建/打开一个有名信号量,成功返回新信号量的地址,失败返回SEM_FAILED设errno // <semaphore.h> //#define SEM_FAILED ((sem_t *) 0 //#define SEM_VALUE_MAX (2147483647) //Link with -pthread. sem_t *sem_open(const char *name, int oflag); sem_t *sem_open(const char *name, int oflag, mode_t mode, unsigned int value);
oflag
value :配合O_CREAT使用,设置信号量的初始值
//初始化无名信号量,成功返回0,失败返回-1设errno //Link with -pthread. int sem_init(sem_t *sem, int pshared, unsigned int value);
sem 创建无名信号量的指针
pthread指定信号量是在线程间使用还是进程间使用