头文件
#include <sys / types.h>
#include <sys / ipc.h>
#include <sys / sem.h>
函数
int semget(key_t key ,int nsems ,int semflg );
关键标识符key:所创建或打开信号量集的键值, key 值可用fork()来创建。
nsems:创建的信号量集中的信号量的个数I(资源是三把伞, 但信号量的个数应设为1),该参数只在创建信号量集时有效。
semflg:调用函数的操作类型,也可用于设置信号量集的访问权限,两者通过or表示.
有IPC_CREAT,IPC_EXCL。
IPC_CREAT如果信号量不存在,则创建一个信号量,否则获取。
IPC_EXCL只有信号量不存在的时候,新的信号量才建立,否则就产生错误.
返回值
成功返回信号量的标识码ID。失败返回-1;
例子
mykey = ftok("key", 1000);
if ((sem_id = semget(mykey, 1, IPC_CREAT | 0666)) == -1) {
perror("semget failed");
exit(1);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)