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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 吴硕 中级黑马   /  2012-10-20 14:30  /  1717 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

管道流为啥要多线程,这个想不太明白?
管道输出流接上管道输入流,先输出,后接收,一个线程也可以的吧

1 个回复

倒序浏览
管道流的设计是为了实现线程之间的通信。

一个线程的PipedInputStream对象能够从另外一个线程的PipedOutputStream对象中读取数据。

因此,使用管道流可以实现各个程序模块之间的松耦合通信。我们可以灵活地将多个使用管道流的模块的输出流与输入流相连接,当一个模块被替换时,不会影响其他模块。

例如,有一个使用了管道流的加密模块,我们的程序只需要向该模块的输入流中送入数据,从该模块的输出流中取得数据,就完成了数据的加密工作,这个模块就像一个黑匣子,我们根本不需要去了解它的具体实现细节。

管道流可以实现多线程之间的数据通信,自然也适用于一个线程的数据通信。当然在不涉及多线程间通信时,选择其它IO流可能会更加适合。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马