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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
Linux进程间通信(9)消息队列之msgget()、msgsnd()、msgrcv()及其基础实验" J: L& d% A2 Z- ~0 F

' N7 o1 r  ?0 ^" V& d概述
# g9 M7 d9 Z& n
8 b+ s7 b2 B1 g# k: r1 r2 q   消息队列,就是一些消息的列表,用户可以在消息队列中添加消息和读取消息等。从这点上看,消息队列具有一定的FIFO特性,但是它可以实现消息的随机查询,比FIFO具有更大的优势。同时,这些消息又是存在于内核中的,由“队列ID”来标识。: ?3 t4 B/ J9 T( s

! p) [2 }4 a9 K, W, j: ~消息队列的实现操作% O/ O' e9 T2 r! `

( U' E$ `; W9 f# c  ①  创建或打开消息队列。使用的函数是msgget(),这里创建的消息队列的数量会受到系统消息队列数量的限制。
3 \0 O4 e  w) }* ~' w4 r4 [1 Y* n" ]
, W$ w$ }( G9 W9 G( B$ D: a  ②  添加消息。使用的函数是msgsnd(),它把消息添加到已打开的消息队列末尾。
% y% m3 l* O# N$ K; n7 D5 q
- Y$ H/ @$ x# v- B$ y) @6 w+ E  ③  读取消息。使用的函数是msgrcv(),它把消息从消息队列中取走,与FIFO不同的是,这里可以取走指定的某一条消息。
# w1 X2 u, g. [! P8 Y  M
  U& O( f& a+ [# e4 D  ④  控制消息队列。使用的函数是msgctl(),它可以完成多项功能。
. u& S1 T- L* u/ @% i( ~7 x* @5 U* [9 W
函数格式" T0 W, `' o5 r) r
2 y0 h$ p/ @3 C( u! S; F6 h. c
游客,如果您要查看本帖隐藏内容请回复

; D% m4 g4 g/ W4 q( D    e2 _$ O9 K* k0 C* ?

+ `/ z- F) S8 s # P5 {: s. C0 O/ Q5 e0 }5 A
. {5 \" P/ I4 w) k

% ~# d. c2 U5 g5 }* u. M
* Y: _7 k6 f( U7 b4 o2 l& E

3 R  R) @5 F% `6 w2 p1 K
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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