首页 运维 网络学院 查看内容

LINUX学习笔记——进程间通信5信号量

2012-3-23 11:03 470 0

摘要: a)         作用:保护临界资源,控制进程。访问临界资源时,先查看信号量,若信号量为1表示资源有空,那么才可以访...
关键词: nbsp 信号量 信号灯 临界 资源 进程 include 数组 int short

a)         作用:保护临界资源,控制进程。访问临界资源时,先查看信号量,若信号量为1表示资源有空,那么才可以访问临界资源。同时把信号量-1; 1.         实质:是一个整数,初始值为1; 2.         二值信号灯:值只能取0或1;最多允许一个进程访问。 3.         计数信号灯:值可以取任意的非负值,即可以允许多个进程访问 b)         打开信号量:int semget(key_t key, int nsems, int senflg) 1.         #include<sys/types.h>, #include<sys/ipc.h>,#include<sys/sem.h> 2.         Key:键值,由ftok获得 3.         Nsems:创建或打开 信号灯集 中将包含信号灯的数目 4.         Semflg:标志,同消息队列 c)         操作:int semop(int semid, struct sembuf *sops, unsigned nsops) 1.         功能:对信号量进行控制 2.         Semid:信号量集的ID 3.         Sops:操作数组,表明要进行什么操作 a)         Struct sembuf {unsigned short sem_num; :表示第几个信号量 Short sem_op; :1表示释放,-1表示获取 Short sem_flg:} :标志 1.         IPC_NOWAIT: 2.         IPC_UNDO:程序结束时释放信号量。避免资源永远被锁定 4.         Nsops:sops所指向的数组的元素的个数
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部