Java 输入输出流教程(三)——【管道】(原作:Java IO Tutorial by Jakob Jenkov)
来源:互联网 发布:中国气象数据网账号 编辑:程序博客网 时间:2024/05/21 15:01
管道
Java IO中的管道提供了在同一个JVM下,两个线程之间的交流功能。同样,管道也是一个常见的源或目标。
Java中的管道概念与Unix/Linux中的管道有所不同,Unix/Linux中两个在不同空间下运行的进程可以通过pipe交换数据。在Java中,pipes必须要在同一个进程中的不同线程之间进行通讯。
利用Java IO建立管道
通过PipedOutputStream和PipedInputStream可以建立一个管道。PipedInputStream应该与一个PipedOutputStream相连接,一个线程通过PipedOutputStream写入数据,通过与之相连接的PipedInputStream被另一个线程读取。
管道的例子
下面这个简单的例子解释了如何讲一个PipedInputStream与一个PipedOutputStream联系起来。
PipedOutputStream output = new PipedOutputStream();PipedInputStream input = new PipedOutputStream(output);
你也可以用connect()方法将两个管道流联系起来,PipedInputStream和PipedOutputStream均有connect()方法来连接彼此。
管道及线程
请记住,当使用两个相连接的管道流的时候,将一个流传递给另一个,另一个传递给第三个……访问管道流的read()方法和write()方法是阻塞的,这意味着如果你试图在同一个线程读或者写,这将导致线程死锁。
- Java 输入输出流教程(三)——【管道】(原作:Java IO Tutorial by Jakob Jenkov)
- Java 输入输出流教程(二)——【文件】(原作:Java IO Tutorial by Jakob Jenkov)
- Java 输入输出流教程(一)(原作:Java IO Tutorial by Jakob Jenkov)
- Java NIO系列教程(二) Channel原文链接 作者:Jakob Jenkov 译者:airu 校对:丁一 Java NIO的通道类似流,但又有些不同: 既可以从通
- Jakob Jenkov多线程系列一一Java Volatile Keyword
- Java数据交互管道——IO流(输入输出流详解)
- java IO-输入输出流(三)
- 黑马程序员——JAVA IO输入输出(三)
- Java IO 经典教程 (上) (翻译自jenkov.com)
- Java IO 经典教程 (中) (翻译自jenkov.com)
- Java IO 经典教程 (下) (翻译自jenkov.com)
- Java io 输入输出流(三)
- JAVA输入输出流(IO)
- Java IO(输入输出)
- java io (java输入输出流)详解
- 彻底明白Java的IO系统(文摘)---JAVA之精髓IO流 ZHBK [原作]
- 彻底明白Java的IO系统(文摘)---JAVA之精髓IO流 ZHBK [原作]
- Java——IO(输入输出流)
- Java数据导入(读)Excel文件 解析
- 音视频即时通讯开发平台的开发现状
- POJ 3207 Ikki's Story IV - Panda's Trick(2-SAT判定)
- 使用ES文件浏览器通过Android设备访问Win7电脑上的共享文件
- 内存泄漏检测工具
- Java 输入输出流教程(三)——【管道】(原作:Java IO Tutorial by Jakob Jenkov)
- Android控件复习:按钮(Button)
- OpenCV与Compressive Tracking实现人脸的实时检测与跟踪
- 深入浅出 - Android系统移植与平台开发(八)- HAL Stub框架分析
- 建筑的永恒之道----道之核心
- 指针与二维数组
- vs2010旗舰版 安装失败原因
- 建筑的永恒之道----译后记
- struts2 第一个hello word 程序