任务间使用管道进行输入/输出
来源:互联网 发布:嘉兴淘宝女装 编辑:程序博客网 时间:2024/05/21 10:33
通过PipedWriter类小姑娘管道中写数据
PipedReader类允许不同任务从同一管道中读取数据,如果当前没有数据就阻塞,等待数据的到来。
并且PiPedReader 类与普通I/O之间有重要的差异,可以被中断。
class Sender implements Runnable{ private Random rand=new Random(47); private PipedWriter out=new PipedWriter(); public PipedWriter getOut() { return out; } @Override public void run() { try { while(true){ for(char c='A';c<='z';c++){ out.write(c); TimeUnit.MILLISECONDS.sleep(rand.nextInt(500)); } } } catch (IOException e) { System.out.println(e+" Sender write excetption"); } catch (InterruptedException e) { System.out.println(e+" Sender sleep interrupted"); } }}class Receiver implements Runnable{ private PipedReader in; public Receiver(Sender sender) throws IOException{ in=new PipedReader(sender.getOut()); } @Override public void run() { try { while(true){ System.out.println("Read: "+(char)in.read()+" "); } } catch (IOException e) { System.out.println(e+" Receiver read exception"); } }}public class PipedIO { public static void main(String[] args)throws Exception{ Sender sender=new Sender(); Receiver receiver=new Receiver(sender); ExecutorService exec= Executors.newCachedThreadPool(); exec.execute(sender); exec.execute(receiver); TimeUnit.SECONDS.sleep(4); exec.shutdownNow(); }}Read: A
Read: B
Read: C
Read: D
Read: E
Read: F
Read: G
Read: H
Read: I
Read: J
Read: K
Read: L
Read: M
java.lang.InterruptedException: sleep interrupted Sender sleep interrupted
java.io.InterruptedIOException Receiver read exception
阅读全文
0 0
- 任务间使用管道进行输入/输出
- Java 多线程 任务间使用管道进行输入/输出
- 线程间使用管道进行输入、输出
- 线程间使用管道进行输入/输出
- java 线程 生产者-消费者与队列,任务间使用管道进行输入、输出 讲解示例 --thinking java4
- 任务间使用管道进行输入输出
- 进程间使用管道通信
- 16.1 进程间使用管道通信
- 输入、输出、管道、find、wc
- 多线程-管道输入/输出流
- 解决activity、service间使用sharePreference进行值存取不同步
- 管道输出作为程序的输入
- linux:输入/输出、重定向、管道
- 输入/输出重定向与管道
- PipedInputStream管道输出流和PipedOutputStream管道输入流
- 组件间使用插槽
- FreeRTOS学习笔记——任务间使用队列同步数据
- 用实例讲解输出/输入重定向/管道以及标准错误
- 设计模式 工厂模式 从卖肉夹馍说起
- 第4章 需求分析和model设计
- 最长公共子序列Lcs
- 搜索 T
- Number of Parallelograms CodeForces 660D 思维题
- 任务间使用管道进行输入/输出
- 小波变换
- PAT 108
- js变量的生存期以及js捕获异常
- 0MQ
- 设计模式 装饰者模式 带你重回传奇世界
- C++类静态数据成员与类静态成员函数
- 欧几里德算法-求最大公因数
- 170530 百度学术+EndNote+Word/WPS生成论文参考文献(三步导入法)