• Java PipedReader类简介说明


    转自:

    Java PipedReader类简介说明

    下文讲述java中PipedReader类简介说明,如下所示:

    PipedReader是字符管道输入流,它继承于Writer
    PipedReader的功能:
       用于读取对应绑定的管道字符输出流写入其内置字符缓存数组buffer中的字符、借此来实现线程之间的通信
         PipedReader中有两个方法供PipedWriter调用、receive(char c)、receive(char[] b, int off, intlen)
        使得PipedWriter可以将字符或者字符数组写入PipedReader的buffer中
     

    PipedReader类的构造函数

    PipedReader(PipedWriter src)    使用默认的buf的大小和传入的PipedWriter构造PipedReader 
    PipedReader(PipedWriter src, int pipeSize)      使用指定的buf的大小和传入的pw构造PipedReader  
    PipedReader()       使用默认大小构造PipedReader
    PipedReader(int pipeSize)       使用指定大小构造PipedReader
    

    PipedReader类的关键字

    boolean closedByWriter = false;     标记PipedWriter是否关闭  
    boolean closedByReader = false;      标记PipedReader是否关闭  
    boolean connected = false;           标记PipedWriter与标记PipedReader是否关闭的连接是否关闭  
    Thread readSide;     拥有PipedReader的线程  
    Thread writeSide;    拥有PipedWriter的线程  
    private static final int DEFAULT_PIPE_SIZE = 1024;       用于循环存放PipedWriter写入的字符数组的默认大小  
    char buffer[];       用于循环存放PipedWriter写入的字符数组  
    int in = -1; buf中下一个存放PipedWriter调用此PipedReader的receive(int c)时、c在buf中存放的位置的下标。此为初始状态、即buf中没有字符  
    int out = 0; buf中下一个被读取的字符的下标  
    

    PipedReader类的方法

    void close() 清空buf中数据、关闭此流。
    void connect(PipedWriter src) 调用与此流绑定的PipedWriter的connect方法、将此流与对应的PipedWriter绑定
    synchronized boolean ready() 查看此流是否可读
    synchronized int read() 从buf中读取一个字符、以整数形式返回
    synchronized int read(char cbuf[], int off, int len) 将buf中读取一部分字符到cbuf中
    synchronized void receive(int c) PipedWriter调用此流的此方法、向PipedReader的buf以整数形式中写入一个字符
    synchronized void receive(char c[], int off, int len) 将c中一部分字符写入到buf中
    synchronized void receivedLast() 提醒所有等待的线程、已经接收到了最后一个字符

  • 相关阅读:
    CSS基础:插入CSS样式的3种方法
    Lambda函数
    Windows下安装Miniconda及配置和简单使用
    线程同步的几种方式
    C++中new[…]和动态数组
    Gin框架的post方法实现传递信息到后台
    量子计算(十):量子计算原理
    Java—代理
    笙默考试管理系统-MyExamTest----codemirror(28)
    【Leetcode打卡冲冲冲】
  • 原文地址:https://blog.csdn.net/qq_25073223/article/details/126259535