目录
int semget(key_t key, int nsems, int semflg);
int semctl(int semid, int semnum, int cmd, union semun arg);
int semop(int semid, struct sembuf *sops, size_t nsops);
一、简介:
信号量的本质就是一个计数器,它的作用是保护共享资源,用来负责数据操作过程中的同步、互斥等功能,当它的值大于0时,表示当前可用资源的数量;当它的值小于0时,其绝对值表示等待使用该资源的进程。
二、相关函数:
int semget(key_t key, int nsems, int semflg);
- key:信号量的键值
- nsems:信号量的数量
- semflg:
- IPC_CREAT:信号量不存在则创建
- mode:信号量的权限int semctl(int semid, int semnum, int cmd, union semun arg);
- semid:信号量ID
- semnum:信号量编号,如果只有一个信号量,一般为0
- cmd:
- IPC_STAT:获取信号量的属性信息
- IPC_SET:设置信号量的属性
- IPC_RMID: