当前位置: 技术问答>java相关
关于PipedInputStream/PipedOutputStream的使用(在线)
来源: 互联网 发布时间:2015-09-10
本文导语: 已看了Sun的文档,但还是不太明白,使用它们还要使用Thead?。还请高手指教。最好能贴段代码过来,加简短注视更好,^_^。 | 实现多线程之间数据的传递。 创建一个线程的一个PipedInputStream流...
已看了Sun的文档,但还是不太明白,使用它们还要使用Thead?。还请高手指教。最好能贴段代码过来,加简短注视更好,^_^。
|
实现多线程之间数据的传递。
创建一个线程的一个PipedInputStream流和另一个线程的一个PipedOutputStream,将他们连接起来,一个的输入就会产生另一个的输出。
创建一个线程的一个PipedInputStream流和另一个线程的一个PipedOutputStream,将他们连接起来,一个的输入就会产生另一个的输出。
|
其实原理很简单,
两个线程,一个保持PipedInputStream,一个保持PipedOutputStream引用。
PipedOutputStream写入的数据先缓存在Buffer中,如果Buffer满,此线程wait。
PipedInputStream读出Buffer中的数据,如果Buffer没数据,此线程wait。
两个线程,一个保持PipedInputStream,一个保持PipedOutputStream引用。
PipedOutputStream写入的数据先缓存在Buffer中,如果Buffer满,此线程wait。
PipedInputStream读出Buffer中的数据,如果Buffer没数据,此线程wait。