找回密码
 注册
关于网站域名变更的通知
查看: 354|回复: 1
打印 上一主题 下一主题

Linux进程间通信(9)消息队列之msgget()、msgsnd()、msgrcv()及其基础实验

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-9-25 10:53 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
Linux进程间通信(9)消息队列之msgget()、msgsnd()、msgrcv()及其基础实验" p+ G' n6 X0 |* R7 R% {
5 F  j, `4 q. {
概述& K. W: W$ V  G/ _+ a" r

% \' ^7 W6 P# e2 M* n& x7 V" {   消息队列,就是一些消息的列表,用户可以在消息队列中添加消息和读取消息等。从这点上看,消息队列具有一定的FIFO特性,但是它可以实现消息的随机查询,比FIFO具有更大的优势。同时,这些消息又是存在于内核中的,由“队列ID”来标识。& k9 @* f* ]$ T5 F

0 H  G" u* @4 S+ G5 ~, _消息队列的实现操作5 E( V; I( Q) Z/ d6 I
7 K8 a, ^/ O: \$ V8 K3 w' Z* R& V
  ①  创建或打开消息队列。使用的函数是msgget(),这里创建的消息队列的数量会受到系统消息队列数量的限制。: [6 t- T& w) _
: }- m' {/ B1 \8 C) {
  ②  添加消息。使用的函数是msgsnd(),它把消息添加到已打开的消息队列末尾。
5 W$ m; H7 i( F$ s
3 S( n5 b9 J2 e4 H& {: w  ③  读取消息。使用的函数是msgrcv(),它把消息从消息队列中取走,与FIFO不同的是,这里可以取走指定的某一条消息。
/ }5 Z" j7 r3 y1 T" W& @* V) j/ k, v2 B) s9 ?7 n2 ?
  ④  控制消息队列。使用的函数是msgctl(),它可以完成多项功能。. S# l7 _! i, [

' o9 T0 C7 m" w% H4 I函数格式8 {& v  J- k# t) Y, F
4 @$ U/ I8 I  o' G1 ]0 J
游客,如果您要查看本帖隐藏内容请回复

) w+ V5 H' T. w3 t% q3 S+ }  1 R8 E8 E) z5 m1 Y
& s8 B& {! x( M4 o& L* n7 H

% G: N4 S& D- Z* _8 A. |1 `7 ?8 B. G3 D5 ?2 S
7 q0 s' g: ?1 u% [# X
' s; _9 `& o6 f: y) Q1 m
3 K" P8 t4 {9 P' C% W- v/ Z
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-25 00:43 , Processed in 0.171875 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表