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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 漪顿 中级黑马   /  2013-8-13 17:13  /  951 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

刚刚学了一下毕老师讲的管道流,知道是io和多线程相结合的,我想问管道流在实际开发当中的用处,用到的频率高吗,

评分

参与人数 1技术分 +1 收起 理由
薛鹏鹏 + 1

查看全部评分

3 个回复

倒序浏览
java为“管道”提供了PipedInputStream和PipedOutputStream类。将这两者结合在一起,它们允许一个Java组件输出数据到输出流,而另一个组件将这个输出流当作输入流来读取。

  举个例子可以说明,比如一个用来记录应用程序日志信息的组件和一个用来显示流数据动态报表的组件。通过给日志记录组件提供PipedOutputStream,给报表组件提供相应的PipedInputStream,这两个组件就不用知道对方的情况而可以相互通信。

评分

参与人数 1技术分 +1 收起 理由
EYE_SEE_YOU + 1

查看全部评分

回复 使用道具 举报

  Java I/O系统是建立在数据流概念之上的,而在UNIX/Linux中有一个类似的概念,就是管道,它具有将一个程序的输出当作另一个程序的输入的能力。在Java中,可以使用管道流进行线程之间的通信,输入流和输出流必须相连接,这样的通信有别于一般的Shared Data通信,其不需要一个共享的数据空间。

评分

参与人数 1技术分 +1 收起 理由
EYE_SEE_YOU + 1 起得很早嘛

查看全部评分

回复 使用道具 举报
看到这个功能就知道频率高了,在网络编程基本都用到IO流,毕老师之前是通过来先读再存入一个缓冲区StringBuffered,然后再读取,再输出而现在通过多线程管道流调用connect可以简化步骤。很好的方法。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马