黑马程序员技术交流社区
标题:
管道流
[打印本页]
作者:
李娟
时间:
2011-12-20 14:24
标题:
管道流
本帖最后由 李娟 于 2011-12-22 09:22 编辑
管道流和缓冲区的区别是什么?在什么情况下管道流可以替代缓冲区?
作者:
yunqiangshan
时间:
2011-12-20 21:19
管道输入流包含一个缓冲区,可在缓冲区限定的范围内将读操作和写操作分离开。两者不是同一类型的对象。
作者:
海中的游弋草
时间:
2011-12-20 21:35
PipedInputStream运用的是一个1024字节固定大小的循环缓冲区,写入PipedInputStream的数据实际上保存到对应的PipedInputStream的内部缓冲区。从PipedInputStream执行读操作时,读取的数据实际上来自这个内部缓冲区,如果对应的PipedInputStream输入缓冲区已满,任何企图写入PipedInputStream的线程都将被阻塞,而且这个写操作线程将一直阻塞,直至出现读取PipedInputStream的操作从缓冲区删除数据。
作者:
黑马巩伟伟
时间:
2011-12-20 21:40
管道用来把一个程序、线程和代码块的输出连接到另一个程序、线程和代码块的输入。java.io中提供了
PipedInputStream和PipedOutputStream作为管道的输入/输出流管道输入流作为一个通信管道的接收端,
管道输出流则作为发送端。管道流必须是输入输出并用,即在使用管道前,两者必须进行连接。管道流的重
点在于连接。而缓冲区是对数据的缓存,提高数据的读写效率。作用的重点是提高效率。
作者:
刘健
时间:
2011-12-20 21:54
管道流的缓冲区是存在固定大小的,在数据传输速度超过一定范围的时候就显示出他的不足了。所以管道流一般用于少量数据的传输
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2