目录:
一.特性
1.管道是用于传输数据的
2. 属于半双工通信–可以选择方向的单向通信
3. 管道中如果没有数据,则read会堵塞
4. 管道中的空间是有限的,如果数据存储满了,则write则会堵塞
二.本质
管道就是内核中的一块缓冲区,就和执行两个函数交换的时候是一样的,创建了第三个变量进行交换,这里在内核上的缓冲区也是一样的.
三.分类
管道分为匿名管道和命名管道
1.匿名管道
1)访问方式
2)对应操作
匿名管道一定要在创建子进程之前进行创建
3)代码实现
运行结果:
通过我们在上面在父子进程中实现了利用匿名管道来实现进程之间的通信
四.通过例题理解管道!!!(经典)
1.如果管道中所有的读端被关闭,则write会触发异常,导致进程直接退出
2.如果管道中所有的写端被关闭,则read读完所有的数据后,会直接返回0值.
这篇博客介绍了进程间通信的匿名管道,并且介绍了一个例题来理解管道的作用,重在理解我写的注释.多敲代码.