当前位置: 技术问答>linux和unix
Linux 下的 semctl 函数
来源: 互联网 发布时间:2017-03-25
本文导语: semctl(int semid,int semnum,int cmd,...) 第二个参数是信号量的个数,我在“哲学家吃饭”的源代码里看到这个参数为0. 我想问一下,0不就是没有信号量吗?既然没有信号量,那么调用这个函数还有什么意义??...
semctl(int semid,int semnum,int cmd,...)
第二个参数是信号量的个数,我在“哲学家吃饭”的源代码里看到这个参数为0. 我想问一下,0不就是没有信号量吗?既然没有信号量,那么调用这个函数还有什么意义?? 初学者,求解答
第二个参数是信号量的个数,我在“哲学家吃饭”的源代码里看到这个参数为0. 我想问一下,0不就是没有信号量吗?既然没有信号量,那么调用这个函数还有什么意义?? 初学者,求解答
|
第2个参数是信号量的编号,而不是信号量的个数!当需要用到多个信号量时,这个参数才有实际的用途。取0表示第一个信号量。只有一个信号量时,这个值一定是为0的。
|
0 指的是信号量集合里的第一个信号量。
|
system v的sem提供了信号量集合的概念,可以设置一个信号量或者同时设置与获取多个信号量。
学会读manpage吧。
学会读manpage吧。