zoukankan      html  css  js  c++  java
  • java io之管道流

      一、java.io中存在一中流叫管道流,类似管道的功能。PipedOutputStream和PipedInputStream分别是管道输出流和管道输入流。这个两个流必须同时使用。

      二、作用:进行两个线程间的通信。一个线程作为管道输出流,另一个线程作为管道输入流,在启动线程前,只需要将这两个线程的管道流连接到一起就可以。 这要就很方便的实现了两个线程间的通信。

      三、例子(我这里谢了一个简单的例子。来说明不同线程之间的读写情况)

    import java.io.PipedInputStream;
    import java.io.PipedOutputStream;
    
    public class PipeStream {
    
        //管道输出流
        private static PipedOutputStream outputStream = new PipedOutputStream();
        //管道输入流
        private static PipedInputStream inputStream = new PipedInputStream();
    
        public static void main(String[] args) throws Exception {
            //输出线程
            Runnable out = ()-> {
                try {
                    while(true) {
                        Thread.sleep(1000);
                        outputStream.write("pipe".getBytes());
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
            };
            //输入线程
            Runnable in = ()-> {
                try {
                    byte[] bytes = new byte [1024];
                    int len;
                    while ((len = inputStream.read(bytes)) != -1) {
                        System.out.println(new String(bytes,0,len));
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
            };
            //连接管道
            inputStream.connect(outputStream);
            //启动线程
            new Thread(out).start();
            new Thread(in).start();
    
        }
    
    }
  • 相关阅读:
    5.2 输出一张随机图片
    5.1 Request 获取请求数据的几种方法
    5.Servlet 对象(request-response)
    4.Servlet(动态web资源)
    复选框、单选按钮、下拉列表的定义
    选择屏幕输入值的控制
    屏幕元素创建的基本语法
    屏幕对象的F1/F4输入帮助功能
    函数alv下的颜色设置
    BDIA增强
  • 原文地址:https://www.cnblogs.com/ll409546297/p/7988310.html
Copyright © 2011-2022 走看看