av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

Java管道流實現線程間通信過程解析

瀏覽:65日期:2022-09-04 09:58:49

管道流

在Java語言中提供了各種各樣的輸入/輸出流 Stream ,使我們能夠很方便地對數據進行操作,其中管道流是一種特殊的流,用于在不同線程間直接傳送數據。一個線程發送數據到輸出管道流,另一個線程從輸入管道流中讀取數據。

通過使用管道,實現不同線程間的通信,而無須借助于類似臨時文件之類的東西。

字節流

PipedInputStream 和 PipedOutputStream

字符流

PipedReader 和 PipedWriter

示例

public class PipeStreamTest { public static void main(String[] args) throws IOException, InterruptedException { WriteData writeData = new WriteData(); ReadData readData = new ReadData(); PipedReader reader = new PipedReader(); PipedWriter writer = new PipedWriter(); writer.connect(reader); new Thread(() -> { writeData.writeMethod(writer); }).start(); Thread.sleep(2000); new Thread(() -> { readData.readMethod(reader); }).start(); } static class WriteData { public void writeMethod(PipedWriter writer) { try {System.out.println('write :');for (int i = 0; i < 300; i++) { String outData = '' + (i + 1); writer.write(outData); System.out.print(outData);}System.out.println();writer.close(); } catch (IOException e) {e.printStackTrace(); } } } static class ReadData { public void readMethod(PipedReader reader) { try {System.out.println('read :');char[] byteArray = new char[20];int readLength = reader.read(byteArray);while (readLength != -1) { String newData = new String(byteArray, 0, readLength); System.out.print(newData); readLength = reader.read(byteArray);}System.out.println();reader.close(); } catch (IOException e) {e.printStackTrace(); } } }}

運行結果如下:

Java管道流實現線程間通信過程解析

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
主站蜘蛛池模板: 久久久精品在线观看 | 综合一区二区三区 | 久久一区二区视频 | 成人黄色在线观看 | 男女激情av | 亚洲性av | 欧美精品亚洲精品 | 国产裸体永久免费视频网站 | www.av在线播放 | 色综合天天综合网天天狠天天 | 国产精品三 | 久久久亚洲一区 | 欧美777 | 91精品91久久久中77777 | 长河落日电视连续剧免费观看 | 免费看黄色录像 | 91亚洲一区 | 97精品国产 | 亚洲伦理视频 | 欧美成人三级 | 免费黄色小说网站 | 懂色av懂色av粉嫩av | 综合在线视频 | 在线播放a| 99视频免费 | 亚洲成人精品视频 | 久久国产精 | 天堂网久久 | 精品日韩一区二区三区 | 在线亚洲一区 | 精品视频在线观看 | 欧美一级片免费看 | 国产欧美在线播放 | 538在线视频 | 国产欧美日韩综合 | 日韩一二区 | 欧美日韩一区在线 | 91视频播放 | 一区二区三区日韩 | 亚洲欧美精品在线 | 青青草国产精品 |