Linux下的进程间通信:使用管道和消息队列
因为
这个文件的是以只读打开的。 然后这个程序进入一个潜在的无限循环,在每次循环时,尝试读取 4 字节的块。
返回 0 来暗示该流的结束。在这种情况下, 在读入 4 字节整数后, 重复运行示例, 下面是这两个程序的输出,它们在不同的终端中启动,但处于相同的工作目录:
消息队列管道有着严格的先入先出行为:第一个被写入的字节将会第一个被读,第二个写入的字节将第二个被读,以此类推。消息队列可以做出相同的表现,但它又足够灵活,可以使得字节块可以不以先入先出的次序来接收。 正如它的名字所提示的那样,消息队列是一系列的消息,每个消息包含两部分:
看一下下面对一个消息队列的描述,每个消息由一个整数类型标记:
在上面展示的 4 个消息中,标记为 1 的是开头,即最接近接收端,然后另个标记为 2 的消息,最后接着一个标记为 3 的消息。假如按照严格的 FIFO 行为执行,消息将会以 1-2-2-3 这样的次序被接收。但是消息队列允许其他收取次序。例如,消息可以被接收方以 3-2-1-2 的次序接收。
示例 4. 头文件 queue.h
(编辑:沈阳站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 初级、中级、高级运维各应必备哪些技能?
- 云开发与WePY,快速实现Linux命令查询小程序
- 华为鸿蒙的机会与挑战:若被谷歌服务禁用,将启用鸿蒙?
- windows-server-2008 – 没有telnet客户端的Windows Server
- 修复Windows 10上的Windows Update错误0xc1900130
- windows-sbs-2008 – 我的公司已经超出了SBS / Essentials.
- windows-7 – 机器始终响应192.168.1.2 IP地址,该地址未在机
- windows-server-2008-r2 – Windows Server 2008 R2图元文件
- 系统运维学成后,能做什么?
- windows – 最佳实践:我是否应该始终为新员工安装新的操作