这个函数用来操作sem,对信号量进行加减。
原型:
int semop (int semid, struct sembuf *sops, unsigned nsops);
其中第三个参数的意思是什么?
这要从第二个参数说起,semop这个函数可以对一群(组)信号量进行操作,所以如何表示这样一组或是一群信号量呢?
由第二个参数来指定他们的首地址,由第三个参数来指定数量。
这里面有几个数,第一个数是,semid,这个是信号量(集)的标号,
第二个数是,struct sembuf -> sem_num 这个一个标号(集合)中的序号。
第三个数是,nsops 这个是每次操作的工作(struct sembuf)数量