特定的格式。进程可以向中按照一定的规则添加新消息;另一些进程则可以从消息队列中读走消息。消息队列的内核持续性要求每个消息队列都在系统范围内对应唯一的键值,所以,要获得一个消息队列的描述字,必须提供该消息队列的键值。键值i
cludesystypesh
fi
cludesysipchkey_tftokcharpath
amecharproj功能:返回文件名对应的键值。path
ame文件名proj项目名(不为0即可)打开创建i
cludesystypeshi
cludesysipchi
cludesysmsghi
tmsggetkey_tkeyi
tmsgflgkey:键值,由ftok获得。msgflg:标志位。返回值:与健值key相对应的消息队列描述字。IPC_CREAT创建新的消息队列IPC_EXCL与IPC_CREAT一同使用,表示如果要创建的消息队列已经存在,则返回错误。IPC_NOWAIT读写消息队列要求无法得到满足时,不阻塞。在以下两种情况下,将创建一个新的消息队列:如果没有与健值key相对应的消息队列,并且msgflg中包含了IPC_CREAT标志位。key参数为IPC_PRIVATE。发送消息i
cludesystypesh
fi
cludesysipchi
cludesysmsghi
tmsgs
di
tmsqidstructmsgbufmsgpi
tmsgszi
tmsgflg功能:向消息队列中发送一条消息。msqid已打开的消息队列idmsgp存放消息的结构msgsz消息数据长度msgflg发送标志,有意义的msgflg标志为IPC_NOWAIT,指明在消息队列没有足够空间容纳要发送的消息时,msgs
d是否等待。structmsgbuflo
gmtype消息类型0charmtext1消息数据的首地址接收消息i
cludesystypeshi
cludesysipchi
cludesysmsghi
tmsgrcvi
tmsqidstructmsgbufmsgpi
tmsgszlo
gmsgtypi
tmsgflg功能:从msqid代表的消息队列中读取一个msgtyp类型的消息,并把消息存储在msgp指向的msgbuf结构中。在成功地读取了一条消息以后,队列中的这条消息将被删除。信号量又名:信号灯与其他进程间通信方式不大相同,主要用途是保护临界资源。进程可以根据它判定是否能够访问某些共享资源。除了用于访问控制外,还可用于进程同步。
f二值信号灯:信号灯的值只能取0或1,类似于互斥锁。但两者有不同:信号灯强调共享资源,只要共享资源可用,其他进程同样可以修改信号灯的值;互斥锁更强调进程,占用资源的进程使用完资源后,必须由进程本身来解锁。计数信号灯:信号灯的值可以取任意非负值。创建打开i
cludesystypeshi
cludesysipchi
cludesyssemhi
tsemgetkey_tkeyi
t
semsi
tsemflgkey:键值,由ftok获得
sems:指定打开或者新创建的信号灯集中将包含信号灯的数目semflg:标识,同消息队列i
tsemopi
tsemidstructsembufsopsu
sig
ed
sops功能:对信号量进行r