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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李振元 黑马帝   /  2011-12-9 10:20  /  1933 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 李振元 于 2011-12-10 18:08 编辑

请教一下使用管道通信PipedInputStream和PipedOutputStream类有什么好处?sun的工程师为什么要设计这两个类,感觉平时都没用到过啊。。。

5 个回复

倒序浏览
管道通信主要用于完成线程之间的通信,通常,数据由某个线程从 PipedInputStream 对象读取,并由其他线程将其写入到相应的 PipedOutputStream!这样可以实现各个程序模块之间的低耦合通信!并且在程序中就可以灵活的将多个这样模块的输入流与输出流相关联,然后可以拼装成满足各种应用的程序,而不用对模块内部进行修改.使用管道连接的模块具有高内聚低耦合的特点,如果模块被替换或被拆卸掉,也不会影响到其他的模块功能的正常使用.

评分

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

查看全部评分

回复 使用道具 举报
PipedInputStream对象必须和一个PipedOutputStream对象进行连接而产生一个通信管道,PipedOutputStream可以向管道中写入数据,PipedInputStream可以从管道中读取PipedOutputStream写入的数据。所以一般用于多个线程,单线程可能会死锁。传送输入流包含一个缓冲区,可在缓冲区限定的范围内将读操作和写操作分离开

评分

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

查看全部评分

回复 使用道具 举报
这两个类主要用来完成线程之间的通信。使用管道流类,可以实现各个程序模块之间的松耦合通信,我们可以灵活地将多个这样的模块的输出流与输入流相连接。以拼装成满足各种应用的程序,而不用对模块内部进行修改。一个模块被替换或被拆卸不会影响其他模块。

评分

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

查看全部评分

回复 使用道具 举报
这些理论张老师视频上有的,我也看过了,我只是没法联系到实际,各位有没有用到管道通信的经历啊?
回复 使用道具 举报
hello西卡够 发表于 2011-12-9 11:21
PipedInputStream对象必须和一个PipedOutputStream对象进行连接而产生一个通信管道,PipedOutputStream可以 ...

这些理论张老师视频上有的,我也看过了,我只是没法联系到实际,各位有没有用到管道通信的经历啊?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马