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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
Linux进程间通信(9)消息队列之msgget()、msgsnd()、msgrcv()及其基础实验$ u$ n* N( {; d& S( p  f
( Z% h$ ?: f: R* D& C) j
概述
% o" x% _" U' p  W" E5 C( N  e) Y# T" S( s  Z  q( p6 O" T
   消息队列,就是一些消息的列表,用户可以在消息队列中添加消息和读取消息等。从这点上看,消息队列具有一定的FIFO特性,但是它可以实现消息的随机查询,比FIFO具有更大的优势。同时,这些消息又是存在于内核中的,由“队列ID”来标识。
- z; ^" j2 w7 e- d
. F9 R' k/ Q( w! P- Z* D: m  }7 G消息队列的实现操作3 Z/ e+ h6 N7 i

# D- V2 u2 T* {2 }4 @  ①  创建或打开消息队列。使用的函数是msgget(),这里创建的消息队列的数量会受到系统消息队列数量的限制。* s$ V; q2 Q  c! d) X& `7 {9 i
( P! u. D9 @- ^5 y( n, j" \
  ②  添加消息。使用的函数是msgsnd(),它把消息添加到已打开的消息队列末尾。
; Z9 J- C. A; k6 s0 |8 @8 U; P' D% U5 T/ H* i7 V
  ③  读取消息。使用的函数是msgrcv(),它把消息从消息队列中取走,与FIFO不同的是,这里可以取走指定的某一条消息。
- U" H' U5 j6 J# _& d, [7 H8 n8 f
1 I0 i) w; w8 d$ F9 q# j8 g  ④  控制消息队列。使用的函数是msgctl(),它可以完成多项功能。2 X  O+ R6 ^% Z5 T+ k7 b2 A$ Z

) S- f; ^' f( W3 Y& d9 c( L. B函数格式( L3 s1 z, l( o0 {

+ @. a1 L" P0 v% |+ A
游客,如果您要查看本帖隐藏内容请回复

; @& v' u9 o% b7 n3 q  : I) O5 {: F. _( F' a
8 y2 V+ J% [* n

" t3 S( u" H# n) f6 |- `* r
  f2 U0 h: |# C& ~' U
  Q5 Z" E: M8 u& _4 T

2 K5 J" m* k3 }) {# B6 Z% e% A/ c9 j- }" g( ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-8-24 00:39 , Processed in 0.125000 second(s), 26 queries , Gzip On.

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

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

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