A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© sugar 中级黑马   /  2014-7-19 16:53  /  905 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

今天看到管道流的视频,感觉不太理解:

    管道流是先读还是先写??

    而且管道流有什么作用?

    为什么要使用它?

2 个回复

倒序浏览
先写再读。
至于作用,可以参考这篇文章:http://blog.csdn.net/emailed/article/details/4796168
注意其中这两点:
1、在Java中,可以使用管道流进行线程之间的通信,输入流和输出流必须相连接,这样的通信有别于一般的Shared Data通信,其不需要一个共享的数据空间。
2、PipedInputStream中实际是用了一个1024字节固定大小的循环缓冲区。写入PipedOutputStream的数据实际上保存到对应的 PipedInputStream的内部缓冲区。从PipedInputStream执行读操作时,读取的数据实际上来自这个内部缓冲区。如果对应的 PipedInputStream输入缓冲区已满,任何企图写入PipedOutputStream的线程都将被阻塞。而且这个写操作线程将一直阻塞,直至出现读取PipedInputStream的操作从缓冲区删除数据。
回复 使用道具 举报
看毕向东视频啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马