Linux进程间通信
2022/4/21 7:18:11
本文主要是介绍Linux进程间通信,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
信号量
通过两组互斥锁完成进程同步,几乎不可能传递消息。其实就是个互斥结构,很常见的东西。只是当年提出的早。
比如音频播放完了,机器人才能接受新的音频,用一个互斥锁锁住。
比如虚拟人动画在未播放完当前动画时候,不能接受新的动画指令。用一个互斥锁锁住。
管道
父子进程,无名管道通信。最好父子限制读写。
FIFO,有名管道通信。速度很慢。比access数据库慢,比socket慢。就像是socket方式通信却每次bit数组仅传递1位消息。
共享内存。
单机速度快。
原理是用一个指针指向内存。然后读写这个指针,仅仅能读一次。
共享内容状态,读写共享内容同时存在状态为2,仅一个存在为1,都不存在则无
ipcs
消息队列
缺乏了解。速度不错。总感觉传输大小应该有限制。
Socket
Socket单机速度和局域网速度实际上很快。在RIMA机器人上面实际测试过。当然大规模的传送图形,视频流应该有问题。
ROS机器人在2007年没有使用socket的原因是消息拥塞,以及不适应多智能体。但是ROS1的问题依然是消息拥塞的丢失和不适应多智能体,以及缺乏加密安全,非实时性程序经常崩溃。
另一方面,个人认为TCP同步传输消耗大量的资源以及缺乏消息传输优先级的设计。
现在基本上使用消息中间件进行通信,一方面多种通信方式解决了消息拥塞问题,另一方面消息中间件和内核绑定,内核不崩溃,消息中间件不会崩溃。
这篇关于Linux进程间通信的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23linux 系统宝塔查看网站访问的命令是什么?-icode9专业技术文章分享
- 2024-11-12如何创建可引导的 ESXi USB 安装介质 (macOS, Linux, Windows)
- 2024-11-08linux的 vi编辑器中搜索关键字有哪些常用的命令和技巧?-icode9专业技术文章分享
- 2024-11-08在 Linux 的 vi 或 vim 编辑器中什么命令可以直接跳到文件的结尾?-icode9专业技术文章分享
- 2024-10-22原生鸿蒙操作系统HarmonyOS NEXT(HarmonyOS 5)正式发布
- 2024-10-18操作系统入门教程:新手必看的基本操作指南
- 2024-10-18初学者必看:操作系统入门全攻略
- 2024-10-17操作系统入门教程:轻松掌握操作系统基础知识
- 2024-09-11Linux部署Scrapy学习:入门级指南
- 2024-09-11Linux部署Scrapy:入门级指南