Re: [问题] PipedInputStream 相关疑问

楼主: willy69wu31 (小小吴)   2014-04-24 19:55:25
恕删部分
※ 引述《popcorny (毕业了..@@")》之铭言:
: 因为同个process
: 所以我们应该可以使用更high level的class去传递
: 例如BlockingQueue
: 同样也可以有同样的效果
了解
: 因为pipe有buffer size(pipe size)
: producer如果写到满的时候会block
: consumer如果拉倒空的时候也会block
: 若是同一个人去读或写
: 那就会卡死没人叫醒
了解,为此我好奇去看了默认的缓冲大小,总共是 1024 字节...
话说第一篇原文我的假设好像错了,我实验了一下,
Output 和 Input 轮流放/拉一个字节并不会 block,
是像你说的写满或拉到空才会 block。
: : 3. 用 PipedInputStream 和 PipedOutputStream 会不会造成效能问题?
: : 或任何其他的问题? 有人有相关的经验吗?
: 不会.. pipe是很好的东西。因为他的资料都在memeory,所以应该很快..
: 还有你的应用我会选择用temp file
: 因为档案一大,用pipe就gg了..
这点我就觉得奇怪了,请问为什么档案一大起来就会出问题?
这两个管线类别好像不会囤积用过的资料,
如果 read 出来的资料处理完马上就回收的话应该不会持续占内存才对。

Links booklink

Contact Us: admin [ a t ] ucptt.com