基本概念:
临界资源:当一块资源只能够被一个进程访问的时候,这块资源就叫临界资源。
临界区:进程里面访问临界资源的代码叫做临界区。
信号量的本质:计数器,计算描述临界资源的多少。
信号量集函数:
int semget(key_t key,int nsem,int semflg);
key:信号量集的名称
nsems:信号量集的个数
semflg:模式标志
若函数调用成功则返回信号集的标识码,若失败则返回-1
控制信号集函数:
int semctl(int semid,int semnum,int cmd);
semid:信号集标识码
semnum:信号集里面的信号量序号
cmd:将要采取的动作
创建和访问一个信号集: