您的位置:首页 > 其它

信号量相关函数整理

2016-10-25 19:34 218 查看
信号量相关函数整理

 

1.semget

作用:创建信号量

原型:int semget(key_t key, int nsems, int semflg)

参数:key 信号量键值

           nsems 需要创建的信号量数目,通常取一个

           semflg 同open一样的权限

返回值:成功信号量标识符

                   出错 -1

头文件:sys/types.h

                   sys/ipc.h

                   sys/sem.h

 

2.semctl

作用:信号量控制

原型:int semctl(int semid, int semnum, int cmd, union semnn arg)

参数:semnum 通常为0,表示第一个信号量

           cmd IPC_STAT

                     IPC_SETVAL

                     IPC_GETCAL

           arg union semnn

返回值:cmd->不同的命令返回值不同

                   IPC_STAT,IPC_SETVAL, IPC_RMID返回值为0

                   IPC_GETVAL返回信号量的值

             出错 -1

 

3.semop

作用:执行PV操作

原型:int semop(int semid, struct sembuf *sops, size_t nsops)

参数:semid 信号集的识别码,可以通过semget获取

           semop -1:P操作,+1:V操作

           nsops 信号操作结构的数量,恒大于或等于1

返回值:成功 0

                   失败 -1

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: