当前位置: 技术问答>linux和unix
关于信号量的问题(sem)????
来源: 互联网 发布时间:2015-06-17
本文导语: 1,请问semget(key_t keyval,int mnus,int flag) 中的键值如何获得??? (比如:我有两个进程A ,B公用一个资源由SEM来区分是否可用,其中A用IPC-PRIVATE创建了信号量,而进程B如何获得该信号量的键值,打开他呢???) ...
1,请问semget(key_t keyval,int mnus,int flag) 中的键值如何获得???
(比如:我有两个进程A ,B公用一个资源由SEM来区分是否可用,其中A用IPC-PRIVATE创建了信号量,而进程B如何获得该信号量的键值,打开他呢???)
2,是否使用semctl(),就可以改变信号量的值,而不是应用semop()??
如果有example 贴出看看!!!
(比如:我有两个进程A ,B公用一个资源由SEM来区分是否可用,其中A用IPC-PRIVATE创建了信号量,而进程B如何获得该信号量的键值,打开他呢???)
2,是否使用semctl(),就可以改变信号量的值,而不是应用semop()??
如果有example 贴出看看!!!
|
1、不能用IPC_PRIVATE;用一个相同的键值(一般用ftok生成)
2、不一样。semctl主要用来初始化semaphore,设置其状态和初值。semop用来操作信号灯。
2、不一样。semctl主要用来初始化semaphore,设置其状态和初值。semop用来操作信号灯。
|
有一本 Linux下C编程,里面有例子
|
key是由ftok产生的。
后者我想应该是不能用semctl的。
后者我想应该是不能用semctl的。