信号量:
1. 通过一个键值得到或者创建信号量,并得到返回的信号量的标识符。
int semget(key_t key, int nsems, int semflg)
2. 通过得到的标识符来设置或者获得信号量的属性值,信号量的属性值在结构体semid_ds中
int semctl(int semid, int semnum, int cmd, ...);
3. 通过得到的标识符来对信号量进行加或者减的操作,结构体sembuf中的成员sem_op表示调用进程将要对信号量进行加或者减的动作
int semop(int semid, struct sembuf *sops, unsigned nsops);