Java 确保管道输出流阻塞(冲洗?)

Java 确保管道输出流阻塞(冲洗?),java,multithreading,inputstream,outputstream,Java,Multithreading,Inputstream,Outputstream,我正在Java中使用PipedOutputStream和PipedInputStream 一个线程正在生成字节并写入它们;另一个正在消耗它们 我希望确保生成字节的速度不会明显快于使用它们的速度 PipedOutputStream何时阻塞?它的缓冲区有固定大小吗 或者每次在我写下flush()之后,我是否需要调用flush()?这就是它的行为方式。管道共享一个相当小的缓冲区,根据下面的注释是1k,如果它填满了writer块。似乎主要回答了这个问题。虽然不是真正的dup。@BoristheSpide

我正在Java中使用
PipedOutputStream
PipedInputStream

一个线程正在生成字节并写入它们;另一个正在消耗它们

我希望确保生成字节的速度不会明显快于使用它们的速度

PipedOutputStream
何时阻塞?它的缓冲区有固定大小吗


或者每次在我写下flush()之后,我是否需要调用flush()?

这就是它的行为方式。管道共享一个相当小的缓冲区,根据下面的注释是1k,如果它填满了writer块。

似乎主要回答了这个问题。虽然不是真正的dup。@BoristheSpider,这似乎回答了这个问题。值得一看。@BoristheSpider,我读到了,虽然我没有意识到
PipedInputStream
的缓冲区也被
PipedOutStream
共享。(事后看来,这是有道理的。)在我看来很像。“我不确定这是否是正确的常数。”我同意。