我在Java中使用PipedOutputStream和PipedInputStream。一个线程正在生成字节并将其写入。另一个正在消耗它们。我想确保生成的字节不会比消耗它们快得多。PipedOutputStream什么时候阻止?缓冲区的大小是否固定?还是在我flush()之后每次都需要打write()吗? 最佳答案 这就是它的行为方式。管道共享一个相当小的缓冲区,根据下面的注释,缓冲区为1k,如果缓冲区填满了writer块。