进程间通信方式有哪些?各自有哪些优缺点?
来源:互联网 发布:淘宝每日好店怎么进去 编辑:程序博客网 时间:2024/04/28 11:47
进程间通信方式有哪些?各自有哪些优缺点?
1)管道
管道分为有名管道和无名管道
无名管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用.进程的亲缘关系一般指的是父子关系。无明管道一般用于两个不同进程之间的通信。当一个进程创建了一个管道,并调用fork创建自己的一个子进程后,父进程关闭读管道端,子进程关闭写管道端,这样提供了两个进程之间数据流动的一种方式。
有名管道也是一种半双工的通信方式,但是它允许无亲缘关系进程间的通信。
2)信号量
信号量是一个计数器,可以用来控制多个线程对共享资源的访问.,它不是用于交换大批数据,而用于多线程之间的同步.它常作为一种锁机制,防止某进程在访问资源时其它进程也访问该资源.因此,主要作为进程间以及同一个进程内不同线程之间的同步手段.
3)信号
信号是一种比较复杂的通信方式,用于通知接收进程某个事件已经发生.
4)消息队列
消息队列是消息的链表,存放在内核中并由消息队列标识符标识.消息队列克服了信号传递信息少,管道只能承载无格式字节流以及缓冲区大小受限等特点.消息队列是UNIX下不同进程之间可实现共享资源的一种机制,UNIX允许不同进程将格式化的数据流以消息队列形式发送给任意进程.对消息队列具有操作权限的进程都可以使用msget完成对消息队列的操作控制.通过使用消息类型,进程可以按任何顺序读信息,或为消息安排优先级顺序.
5)共享内存
共享内存就是映射一段能被其他进程所访问的内存,这段共享内存由一个进程创建,但多个进程都可以访问.共享内存是最快的IPC(进程间通信)方式,它是针对其它进程间通信方式运行效率低而专门设计的.它往往与其他通信机制,如信号量,配合使用,来实现进程间的同步与通信.
6)套接字:可用于不同及其间的进程通信
- 进程间通信方式有哪些?各自有哪些优缺点?
- 进程间通信方式有哪些?各自有哪些优缺点?
- 进程间通信方式有那些?各自有哪些优缺点?
- 内存的分配方式, 进程和线程的区别, 进程间通信方式有哪些?各自有哪些优缺点?
- 进程间通信的方式有哪些?各自的优缺点及应用选择?
- 进程间通信的方式有哪些?各自的优缺点及应用选择?
- 进程间通信方式有哪些?以及在什么情况下用什么通信方式?以及各自优缺点
- Linux进程间通信有哪些方式,优缺点如何
- Linux下进程间通信的方式有哪些?以及适用情况和优缺点
- Window进程通信方式有哪些
- 简述Andriod如何处理UI与耗时操作的通信,有哪些方式及各自的优缺点。
- Linux进程间通信的方式有哪些?
- 进程间通信的机制有哪些
- 进程间通信机制有哪些?
- 多线程都有哪些实现方式并简述各自的优缺点
- 有哪些常见的验证表单方式,他们各自的优缺点是什么?
- XML与JSON的区别?各自有哪些优缺点?
- 8. 进程通信有哪些方式?
- 【Java】资源共享有冲突
- 解决Cannot change version of project facet Dynamic web module to 2.5
- Android横向ListView
- 90. Subsets II
- 【hdu 4315】Climbing the Hill
- 进程间通信方式有哪些?各自有哪些优缺点?
- java的多线程
- 学习cisco packet tracer 第四天
- anaconda libsvm安装32位或64位
- minixml 移植开发
- LCT模板
- 【Linux】简单实现进度条
- 程序员面试金典第二章:链表(4) 链表分割
- windows下安装Spark