某多线程程序中使用管道流传递数据时,输出流线程写入速度远快于输入流线程读取速度。若不进行额外控制,最可能引发的结果是?
答案解析
核心考点:管道流的阻塞机制与缓冲区特性。
解题思路:管道流内部使用固定大小缓冲区,写入过快会导致输出流线程阻塞等待空间释放。
选项分析:
- A错误:管道流不会自动丢弃数据,写入操作会阻塞。
- B正确:当缓冲区满时,输出流的write方法会阻塞直至输入流读取数据释放空间。
- C错误:缓冲区大小在构造时固定,不会动态扩展。
- D错误:管道流基于阻塞IO模型,不会抛出BufferOverflowException。
易错点:误将管道流行为与其他缓冲类(如ByteBuffer)混淆。
正确答案:B