semop() 函数

这个函数用来操作sem,对信号量进行加减。

原型:

int semop (int semid, struct sembuf *sops, unsigned nsops);

其中第三个参数的意思是什么?

这要从第二个参数说起,semop这个函数可以对一群(组)信号量进行操作,所以如何表示这样一组或是一群信号量呢?

由第二个参数来指定他们的首地址,由第三个参数来指定数量。


这里面有几个数,第一个数是,semid,这个是信号量(集)的标号,

                                第二个数是,struct sembuf -> sem_num 这个一个标号(集合)中的序号。

                                第三个数是,nsops 这个是每次操作的工作(struct sembuf)数量


你可能感兴趣的:(工作,struct)