进程间通信的方式有哪些?
进程间通信的方式有哪些?
1、进程间通讯方式有:管道,信号,信号量,消息队列,共享内存,套接字共六种
2、管道:管道分为有名管道和无名管道,其中无名管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用,一般用于两个不同进程之间的通信。有名管道也是一种半双工的通信方式,但它允许无亲缘关系进程间的通信。
3、信号:信号是一种比较复杂的通信方式,信号产生的条件:按键、硬件异常、进程调用kill函数将信号发送给另一个进程、用户调用kill命令将信号发送给其他进程,传递的消息比较少用于通知接收进程某个时间已经发生
4、信号量:信号量是一个计数器,可以用来控制多个线程对共享资源的访问,它不是用于交换大批数据,而用于多线程之间的同 步。他常作为一种锁机制。因此,主要作为进程间以及同一个进程内不同线程之间的同步手段
5、消息队列:消息队列是消息的链表,存放在内核中并由消息队列标识符标识,消息队列克服了信号传递信息少,管道只能承载 无格式字节流以及缓冲区大小受限等特点。
6、共享内存:共享内存就是映射一段能被其他进程所访问的内存,这段共享内存由一个进程创建,但多个进程都可以访问。他往 往与其他通信机制,如信号量配合使用,来实现进程间的同步和通信。
7、套接字:套接字可用于不同及其间的进程通信。
流式套接字: 提供可靠的,面向连接的通讯流
数据包套接字: 定义一种无连接的服务,通过相互独立的报文进行传输,是无序的
原始套接字: 用于新的网络协议的测试
转载自:https://blog.csdn.net/xiaonan153/article/details/81502245
进程间通信的方式有哪些?相关推荐
- 一种网络进程间通信的方式—— 管道
一种网络进程间通信的方式-- 管道 摘要: 文章主要介绍了计算机网络进程间通信的必要性以及进程间通信所采用的几种方式,重点说明了管道通信的原理及命名管道的实现方法. 关键词:管道 命名管道 进程 一. ...
- linux实现单机qq_Linux后台服务器开发——Linux下进程间通信的方式有哪些?
Linux下进程间通信的方式有: 管道 消息队列 信号 信号量 共享存储 套接字 一.管道 管道是半双工的,数据只能向一个方向流动:需要双方通信时,需要建立起两个管道 PIPE无名管道 详情参阅:ht ...
- C | 进程间通信的方式
C | 进程间通信的方式 1.无名管道 无名管道是实现亲缘间进程通信的一种方式,属于半双工通信. 无名管道的实现是队列,不能使用lseek对读写指针偏移. 无名管道有两个端:数据流入端和数据流出端,也 ...
- 进程间通信的方式及原理
# 进程间通信的方式 文章目录 # 进程间通信的方式 消息队列 使用步骤 管道 消息队列 信号 信号量 socket 消息队列 首先消息队列就是内核维护的一块链表区域,只要是有足够权限的进程都可以向队 ...
- 进程间通信的方式——信号、管道、消息队列、共享内存
进程间通信的方式--信号.管道.消息队列.共享内存 多进程: 首先,先来讲一下fork之后,发生了什么事情. 由fork创建的新进程被称为子进程(child process).该函数被调用一次,但返回 ...
- 进程间通信的方式(附代码分析)
进程间通信的方式 1. 进程间通信的几种方式 管道 比如 ls | grep 1;也就是将 进程 ls 拿到的结果作为 grep 1 这个进程的输入.实现了进程间的通信. 消息队列 消息队列就是我们的 ...
- 进程和线程的区别 及 进程间通信的方式
1.进程和线程的区别 (1)进程和线程对比: 进程是对运行时程序的封装,是系统资源调度和分配的基本单位,进程可以看做是操作系统的并行机制. 线程是进程的子任务,cpu ...
- Linux多线程间通信和多进程间通信的方式
文章目录 一.进程间的通信方式 1. 进程间通信的概念 1.1. 进程通信的目的: 1.2. Linux 进程间通信(IPC)的发展 2. 进程间通信的7种方式 2.1. 管道/匿名管道(pipe) ...
- 进程间通信的方式(四):信号量
信号量(semaphore)是一种用于提供不同进程之间或者一个给定的不同线程间同步手段的原语.信号量多用于进程间的同步与互斥,简单的说一下同步和互斥的意思: 同步:处理竞争就是同步,安排进程执行的先后 ...
- 进程间通信的方式总结
进程间通信就是在不同进程之间传播或交换信息. 进程间通信的目的如下: ①数据传输:一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到几兆字节之间. ②共享数据:多个进程想要操作共享数据, ...
最新文章
- 第五章5.1 strace
- 浅谈O2O产品信息结构化
- php弹出第一个数组中,PHP array_search始终返回数组的第一个键
- 3.2 python实战_线性回归的梯度下降法
- 【Servlet】JSP与Servlet的关系
- 揭秘!月薪30K的大牛到底看了哪些视频?【共2000G】
- 在线CSV转JSON工具
- Filebeat 输出日志时添加客户端 IP 地址(引用变量)
- linux通过数字权限设置密码,linux--权限管理和用户管理
- OpenWrt 一个关于IPv6巨傻X的设置项
- chall.tasteless.eu 中的注入题
- 你要的在这里,自己维护的石墨文档
- [HDU]1205 吃糖果 [抽屉原理]
- 人体存在感应雷达应用,智能马桶自动响应,低功耗雷达感应模块
- JAVA初学者必备的基础书籍
- APP运营精华:6种营销推广模式
- vue 界面在苹果手机上滑动点击事件等卡顿解决方案
- 单片机通信总述——理论部分(CAN、串口、SPI、I2C等)
- 今日金融词汇---定量分析
- Latex双栏格式下的摘要单栏+脚注设置
热门文章
- 图像转PDF的问题、方法及题外话
- 2022 分布式存储市场调研报告
- 计算机网络(3)宽带接入技术
- 计算机内存不足图片,电脑无法显示图片说内存不足
- 微信真机调试遇到“errno“:600001,“errMsg“:“request:fail -200:net::ERR_CERT_COMMON_NAME_INVALID
- 如何避开微信小程序的审核机制(实测有效)
- 阿里云服务器设置安全组最新图文教程 新手必看!
- 去水印小程序源码 独立版
- 计算机主机插槽图,图片解说看个透 教你认识主板上的插槽
- linux 硬件raid 坏道,Linux服务器磁盘坏道的修复过程