【计算机操作系统-进程管理】-进程通信是什么呢?
发布日期:2021-06-29 15:36:32
浏览次数:2
分类:技术文章
本文共 536 字,大约阅读时间需要 1 分钟。
进程同步与进程通信很容易混淆,它们的区别在于:
- 进程同步:控制多个进程按一定顺序执行;
- 进程通信:进程间传输信息;
为了能够达到进程同步的目的,需要让进程间进行通信,传输一些进程同步所需要的信息;
a.管道:用于兄弟进程或父子进程的通信
管道是通过调用pipe函数创建的,fd[0]用于读,fd[1]用于写;
- 只支持半双工通信(单向交替传输);
- 只能在父子进程或者兄弟进程中使用;
b.FIFO命名管道:去除了管道只能父子进程通信的限制
也被称为命名管道,去除了管道只能在父子进程中使用的限制。常用于客户进程和服务器进程之间传递数据。
c.消息队列:避免了FIFO的同步阻塞问题
相比较FIFO,消息队列:
- 可以独立于读写进程存在;
- 避免了FIFO的同步阻塞问题;
- 读进程可以根据消息类型有选择地接收消息,而不像FIFO那样只能默认地接收。
d.信号量:用于多线程对共享数据对象的访问
它是一个计数器,用于为多个进程提供对共享数据对象的访问;
e.共享存储:允许多个进程共享一个给定的存储区
允许多个进程共享一个给定的存储区,因为数据不需要在进程之间复制,所以这是最快的一种IPC;
f.套接字:用于不同机器间的进程通信
与其它通信机制不同,它可用于不同机器间的进程通信;
转载地址:https://codingchaozhang.blog.csdn.net/article/details/116722456 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
感谢大佬
[***.8.128.20]2024年04月15日 04时05分54秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
maven- idea: 打包可执行jar
2019-04-29
docker系列2: windows安装docker
2019-04-29
hbase数据转移: 导入导出
2019-04-29
docker系列7: docker搭建mysql
2019-04-29
windows server 2012设置远程连接断开后自动注销
2019-04-29
python基础:list,map,open()文件读写
2019-04-29
Go面向对象-接口
2019-04-29
Go-多路选择和超时控制
2019-04-29
Go-channel的关闭和广播
2019-04-29
Go-任务的取消
2019-04-29
AIX 作为Web Server 使用时,tcp相关的几个参数调整
2019-04-29
自我学习37:请描述一下网页从开始请求到最后展示的完整过程
2019-04-29
自我学习38:如何区分前后端BUG
2019-04-29
自我学习39:接口自动化测试用例&功能测试用例区别
2019-04-29
mirror去兔子补丁下载 附安装教程
2019-04-29
mirror去兔子补丁 v3.0附安装教程
2019-04-29
mirror去兔子补丁为什么还有兔子_mirror去兔子补丁使用教程
2019-04-29
3dmax2012安装教程
2019-04-29
OC渲染器(Octane Render)整合版安装包 附安装教程
2019-04-29
操作系统期末大题复习
2019-04-29