基础知识之进程通信
来源:互联网 发布:曼朗网络 编辑:程序博客网 时间:2024/06/10 01:53
什么是进程通信
进程中的信息交换称之为进程通信
为什么需要进程通信
进程是操作系统的核心,不同的进行之间的数据是隔离的,没有共享。如果两个进程之间需要实现互斥和共享的关系,就需要进行通信。
进程通信的实现方式
进程通信有三种实现方式
- 共享存储
- 消息通信
- 管道通信
共享存储
实现原理:两个相互通信的进程通过一块共享的存储进行信息交换
优点:快捷有效
缺点:写入和读取互不关心,存在安全隐患。一种解决方式就是引入锁机制
消息通信
消息通信有两种方式:点到点的发送和广播模式
点到点的发送
实现原理:进程在发送和接收消息时直接指明接收者或发送者进程ID
优点:直接通信
缺点:点到点的发送必须知道进程ID。
广播模式
实现原理:为每一个信息指定一个消息队列,接收者和发送者都指向这个队列
优点:很容易建立双向通信(只要对信箱说明为读写打开)
缺点:必须有一个通信双方共享的逻辑队列( UNIX的PIPE,FIFO及IPC消息传递机制都属于这种形式)
管道通信
实现原理:可以将管道想象成一个文件,但是与文件相比较而言,管道有限制的大小,超过即阻塞,且读取速度快于写的速度。
缺点:管道通信是单向的,如果需要双向通信,需要建立两个管道
优点:
0 0
- 基础知识之进程通信
- 操作系统之进程--基础知识
- 进程之基础知识
- 进程之基础知识
- 进程之基础知识
- 进程通信之管道通信
- 进程通信之信号通信
- 进程通信之管道通信
- 进程通信之管道通信
- 进程通信之pipe通信
- 【进程通信】之管道通信
- 进程通信之协同进程
- Android(1)进程通信基础知识
- [进程通信] 进程间通信 之 管道
- 进程通信实例之父子进程通信
- 进程通信之管道
- 进程通信之信号量
- Linux之进程通信
- POJ 3104 Drying(二分)
- java 封装\静态、构造等概念
- 系统信息获取
- Redis Benchmark 性能测试
- java获得当前方法是在哪里被调用的
- 基础知识之进程通信
- WordPress过滤器(Filters):apply_filters和add_filter(转)写的太牛了
- thinkphp 前台自定义标签中如何应对传递过来的ID?
- 反转法总结。。
- Struts到spring mvc的体会
- nginx源码剖析(2)----从main()函数开始
- 傅里叶变换
- Javascript对象相关方法
- 23种设计模式知多少