黑马程序员技术交流社区

标题: 管道流为啥要多线程? [打印本页]

作者: 吴硕    时间: 2012-10-20 14:30
标题: 管道流为啥要多线程?
管道流为啥要多线程,这个想不太明白?
管道输出流接上管道输入流,先输出,后接收,一个线程也可以的吧


作者: 赵云柯    时间: 2012-10-20 15:02
管道流的设计是为了实现线程之间的通信。

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

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

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

管道流可以实现多线程之间的数据通信,自然也适用于一个线程的数据通信。当然在不涉及多线程间通信时,选择其它IO流可能会更加适合。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2