PipedInputStream和Out解决生产者-消费者问题
2012-09-25 10:56
363 查看
class sender extends Thread { PipedOutputStream out = new PipedOutputStream(); public PipedOutputStream getOut() { return out; } public void run() { String str = "Hello,receiver ! I`m sender\n "; try { out.write(str.getBytes()); out.close(); } catch(Exception e) { e.printStackTrace(); } } } //receiver.java class receiver extends Thread { PipedInputStream in = new PipedInputStream(); public PipedInputStream getIn() { return in; } public void run() { byte [] buf = new byte[1024]; try { int len = in.read(buf); System.out.println( "the following is from sender:\n "+new String(buf,0,len)); in.close(); }catch(Exception e) { e.printStackTrace(); } } } //TestPiped.java class TestPiped { public static void main(String [] args) { sender s = new sender(); receiver r = new receiver(); PipedOutputStream out = s.getOut(); PipedInputStream in = r.getIn(); try { in.connect(out); s.start(); r.start(); } catch(Exception e) { e.printStackTrace(); } } }
相关文章推荐
- unp2 13 使用条件变量解决消费者生产者问题
- Linux多线程实践(五 )Posix信号量和互斥锁解决生产者消费者问题
- 用信号量机制解决生产者消费者问题
- (52)多个生产者多个消费者出现的问题,解决方式synchronized方法和Lock方法
- 生产者和消费者经典问题OC解决
- 使用阻塞队列解决生产者-消费者问题
- unp2 14 使用线程和互斥锁解决消费者生产者问题
- 通过信号量机制解决生产者-消费者问题的模拟程序
- 多线程(线程间通信-多生产者多消费者问题-JDK1.5解决办法-范例),停止线程,线程中方法的区别,匿名内部类实现多线程,线程总结
- System V共享内存与信号量综合应用之生产者与消费者问题解决
- 多线程——生产者与消费者(多)问题解决
- 用C#多线程解决生产者-消费者问题
- 信号量解决生产者,消费者问题
- 在并发编程中使用生产者和消费者模式能够解决绝大多数并发问题。该模式通过平衡生产线程和消费线程的工作能力来提高程序的整体处理数据的速度。
- c#多线程之生产者与消费者问题的解决
- Java多线程之生产者消费者问题<三>:使用阻塞队列更优雅地解决生产者消费者问题
- Linux多线程实践(5) --Posix信号量与互斥量解决生产者消费者问题
- java 生产者消费者问题 并发问题的解决
- 利用线程解决生产者——消费者问题
- NSCondition 多线程解决生产者消费者问题