Java I/O 管道流实现线程间的通讯例子
来源:互联网 发布:即时通讯app源码 编辑:程序博客网 时间:2024/04/30 10:53
Man 线程对 Woman 线程 说 I Love You,然后Woman 线程接收并打印出来
import java.io.IOException;import java.io.PipedInputStream;import java.io.PipedOutputStream;/** * 管道输出流,用于输出数据 * @author L.Eric */class Man implements Runnable{private PipedOutputStream pos = new PipedOutputStream();public PipedOutputStream getOutputSteam(){return pos;}@Overridepublic void run() {String data = "I love you";try {pos.write(data.getBytes());} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();} finally {if(pos != null) {try {pos.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}}/** * 管道输入流,用于接收输入的数据 * @author L.Eric * */class Woman implements Runnable{private PipedInputStream pis = new PipedInputStream();public PipedInputStream getIntputStream(){return pis;}@Overridepublic void run() {int len = 0;byte[] buff = new byte[1024];try {while((len = pis.read(buff, 0, buff.length)) != -1) {System.out.println(new String(buff, 0, len));}} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();} finally {if(pis != null) {try {pis.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}}/** * 管道流用于两个线程之间的通信,交换数据 * Man 线程对 Woman 线程 说 I Love You,然后Woman 线程接收并打印出来 * @author L.Eric * */public class PipedStreamDemo {public static void main(String[] args) throws IOException {Man man = new Man();Woman woman = new Woman();/** * 建立管道 * */woman.getIntputStream().connect(man.getOutputSteam());//启动两个个线程new Thread(man).start();new Thread(woman).start();}}
- Java I/O 管道流实现线程间的通讯例子
- JAVA中管道通讯(线程间通讯)例子
- Java 中利用管道实现线程间的通讯
- Java 中利用管道实现线程间的通讯
- Java I/O流之管道流-多线程实现
- 【Java】线程管道通讯
- Java使用管道实现进程间通讯
- Java使用管道实现进程间通讯
- 2. 设备I/O及线程间通讯
- ZeroMQ(java)之I/O线程的实现与组件间的通信
- ZeroMQ(java)之I/O线程的实现与组件间的通信
- ZeroMQ(java)之I/O线程的实现与组件间的通信
- ZeroMQ(java)之I/O线程的实现与组件间的通信
- Linux 管道的I/O
- Java IO操作——线程间通讯流(管道流 PipedOutputStream、PipedInputStream)
- 采用管道进行通讯的例子
- 采用管道进行通讯的例子续
- 掌握线程通讯流(管道流)的使用
- UITableView刷新数据reLoadData
- C++与Java基本数据类型比较
- VC中的定时器(摘录)
- json读取
- 体系结构
- Java I/O 管道流实现线程间的通讯例子
- using关键字
- Android: 启动另外的APP及传递参数
- 如何使用标准按钮创建无模式 CPropertySheet
- C# 自定义光标
- Linux内核的编译控制
- 究竟什么是敏捷测试
- C++之各种后缀名的作用
- 关于flash好友列表的练习