博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
管道 一些知识
阅读量:6909 次
发布时间:2019-06-27

本文共 496 字,大约阅读时间需要 1 分钟。

1、

参考:

1.1、二楼 说到:

小于或等于 PIPE_BUF 字节的 write 一定是原子操作,超过这个值的不一定。

POSIX 规定 PIPE_BUF 至少是 512。

1.2、九楼 说到:

PIPE_BUF这个值可以用ulimit -p查看的。linux默认的是8。但是这里的单位不是byte这里的单位是512bytes。所以默认的大小4096的。只要你不写超过这么大那他肯定就是原子的。

 

2、

DuplicateHandle

参考:

 

3、

参考:

管道(阻塞的读和写)写满之后,会阻塞到写端;

只有读端把管道读空(我的机器上的管道长度是4K)之后才能继续写管道,我以前以为是,只要读端读了一个字节,写端就可以继续写。

还有是:我一开始疯狂的写管道,可以写64K而不是机器上的标识(我用ulimit -p查看到是4K)4K。这个我也不知道是怎么回事儿。

ZC:个人理解,一旦写满,就需要读空才能继续写。不写满的情况,不会产生阻塞。自己未验证过...

 

 

 

 

N

 

转载于:https://www.cnblogs.com/CodeSkill/p/4950333.html

你可能感兴趣的文章
c++ 使用json的库。cJSON
查看>>
struts2不兼容servlet、COS
查看>>
Java 打印堆栈的几种方法
查看>>
解读Gartner《2015年度新兴技术成熟度曲线报告》
查看>>
执行ssh-add时出现Could not open a connection to your authentication agent
查看>>
Ajax.BeginForm()实现ajax无刷新提交
查看>>
GROOVY简单语法实习
查看>>
刷新神经网络新深度:ImageNet计算机视觉挑战赛微软中国研究员夺冠
查看>>
27.OGNL与ValueStack(VS)-获取Stack Context中的信息
查看>>
MySQL数据库的事务管理
查看>>
BZOJ4631 : 踩气球
查看>>
离婚后感言
查看>>
怎么使用阿里云直播服务应用到现在主流直播平台中
查看>>
Ubuntu 安装搜狗拼音及fcitx
查看>>
JS中级 - 03:文档宽高及窗口事件(选)
查看>>
JavaScript类型转换
查看>>
路由器断网如何配置上网
查看>>
Vim保存只读模式下的修改
查看>>
转】Eclipse在线安装SVN
查看>>
Configuration
查看>>