进程间通信的几种方式
来源:互联网 发布:nginx官网 编辑:程序博客网 时间:2024/06/05 18:33
(1)管道(Pipe):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用,允许一个进程和另一个与它有共同祖先的进程之间进行通信。
(2)命名管道(named pipe):也是半双工的通信方式,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信。命名管道在文件系统中有对应的文件名。命名管道通过命令mkfifo或系统调用mkfifo来创建。
(3)信号(Signal):信号是一种比较复杂的通信方式,用于通知接收进程某个事件已经发生。是Unix系统中使用的最古老的进程间通信的方法之一。操作系统通过信号来通知进程系统中发生了某种预先规定好的事件(一组事件中的一个),它也是用户进程之间通信和同步的一种原始机制。
(4)消息(Message)队列:消息队列是消息的链接表,包括Posix消息队列system V消息队列。有足够权限的进程可以向队列中添加消息,被赋予读权限的进程则可以读走队列中的消息。消息队列克服了信号承载信息量少,管道只能承载无格式字节流以及缓冲区大小受限等缺
(5)共享内存:共享内存就是映射一段能被其他进程所访问的内存,这段共享内存由一个进程创建,但多个进程都可以访问,是最快的可用IPC形式。是针对其他通信机制运行效率较低而设计的。往往与其它通信机制,如信号量结合使用,来达到进程间的同步及互斥。
(6)信号量(semaphore):信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机制,防止某进程正在访问共享资源时,其他进程也访问该资源。因此,主要作为进程间以及同一进程内不同线程之间的同步手段。
(7)套接字(Socket):与其他通信机制不同的是,它可用于不同机器间的进程通信。起初是由Unix系统的BSD分支开发出来的,但现在一般可以移植到其它类Unix系统上:Linux和System V的变种都支持套接字。
- 进程间通信的几种方式
- 几种进程间通信的方式
- 几种进程间的通信方式
- 几种进程间的通信方式
- 进程间的几种通信方式
- 几种进程间的通信方式
- 几种进程间的通信方式
- 几种进程间的通信方式
- 几种进程间的通信方式
- 几种进程间的通信方式
- 几种进程间的通信方式
- 几种进程间的通信方式
- 几种进程间的通信方式
- 进程间的几种通信方式
- 几种进程间的通信方式
- 进程间通信的几种方式
- 进程间通信的几种方式
- 几种进程间的通信方式
- web.xml中配置访问资源URL<url-pattern>/</url-pattern>时无法访问.html、.jsp、.js、.css等静态资源时的解决方案
- trait的使用心得
- 论文笔记:Batch Normalization
- Android中Parcelable接口用法
- 每天一个linux命令(1):ls命令
- 进程间通信的几种方式
- 用Hexo-GithubPages-CodingPages搭建自己的个人博客
- java调用存储过程 mysql数据库
- mysql my.ini UTF-8配置 服务启动报1067错误
- 小项目:基于Struts框架的员工管理系统的java实现
- Spring 配置多个数据源
- 设置select下拉框只读,提交表单前,设置可读,这样可以提交数据到后台
- C++ SOCKET通信模型(七)异步epoll
- OpenCV findcontours参数说明