进程间通信——有名管道(FIFO)
来源:互联网 发布:米格31知乎 编辑:程序博客网 时间:2024/05/18 02:26
1、何谓进程间通信?
多个进程之间数据相互交换称为进程间通信。
2、进程间通信的方式都有哪些?
(1)信号
(2)管道
(3)信号量
(4)消息队列
(5)共享存储(共享内存)
(6)套接字
信号在之前的博客已经讲过了,今天重点是说一下管道中的有名管道。
3、管道
管道分为两种:
(1)半双工通信:半双工通信是指通信双方都能收发消息,但不能同时进行收和发的工作方式。
(2)全双工通信:全双工通信是指通信双方可同时收发消息的工作方式。
4、管道原理
从图中可以看出,A、B两个进程中,A进程向管道中写数据,B进程从管道中读数据,这也就是管道的原理。
5、管道操作
(1)有名管道:应用于任意两个进程之间数据的单向传递。
创建: 命令方式mkfifo、函数方式mkfifo()
打开: open
写数据:write
读数据:read
关闭: close
(2)有名管道:在文件目录树中有一个文件标示(管道文件),实际不占磁盘空间,数据缓存在内存上。
(3)阻塞运行函数:函数调用以后不会立即返回,需要等待某些条件的发生才会返回。open操作管道文件时,阻塞运行的函数。
如果一个进程以只写方式打开一个管道文件,open会阻塞运行,直到有一个进程以只读方式打开管道文件,open才会返回,进程才会接着执行。
如果一个进程以只读方式打开一个管道文件,open会阻塞运行,直到有一个进程以只写方式打开管道文件,open才会返回,进程才会接着执行。
read函数也会阻塞运行,知道写端写入数据或者所有的写端都关闭。
read读取数据并且会将内存上的已读数据清空。
阅读全文
0 0
- 进程间通信——有名管道(FIFO)
- 【七】 进程间通信——(FIFO)有名管道
- Linux进程间通信——有名管道 FIFO 详解
- Linux--进程间通信(管道及有名管道FIFO)
- Linux--进程间通信(管道及有名管道FIFO)
- Linux--进程间通信(管道及有名管道FIFO)
- (二十七)进程间通信——fifo有名管道
- 进程间通信______有名管道(FIFO)
- 进程间的通信----有名管道fifo
- 2、进程间通信-FIFO(有名管道)
- 进程间通信---------有名管道(named pipe/FIFO)
- linux进程间通信-有名管道(FIFO)
- linux进程间通信-有名管道(FIFO)
- 进程通信-有名管道FIFO
- Linux进程间的通信——有名管道fifo与守护进程deamon
- linux下进程间的通信——有名管道fifo学习笔记
- Linux进程间通信(一)之无名管道(PIPE)和有名管道(FIFO)
- Linux--进程间通信(管道及有名管道FIFO)(转)
- 使用ReferenceQueue实现对ClassLoader垃圾回收过程的观察、以及由此引发的ClassLoader内存泄露的场景及排查过程
- POJ_Butterfly
- 作业10.15
- 勇敢迈出第一步
- Linux系统不同主机之间的时间同步
- 进程间通信——有名管道(FIFO)
- 【Leetcode】【python】Set Matrix Zeroes
- Linux系统主机和虚拟机的外网通信、网络管理
- 最优方向法(MOD)
- javascript之(三)BOM浏览器对象
- 1015. 德才论 (25)
- 入驻CSDN博客
- 一个PDB文件
- 【笔记】《WebGL编程指南》学习-第8章光照(2-运动物体光照效果)