Java学习笔记 (二十三) IO管道(Pipes)

Java IO 管道 Pipes

java中Pipes提供了线程之间通信的能力。Pipes可以是数据源,也可以是输出目标。
不能使用管道与不同JVM(不同进程)中的线程进行通信。
Java中的管道概念与Unix / Linux中的管道概念不同,Unix / Linux中的管道在不同地址空间中运行的两个进程可以通过管道进行通信。
在Java中,通信双方必须在同一个进程中运行,并且应该是不同的线程。

通过PipedOutputStream/PipedInputStream 创建管道

通过PipedOutputStream和PipedInputStream类创建管道,将PipedInputStream连接到PipedOutputStream。一个线程写入PipedOutputStream的数据可以被另一个线程从连接的PipedInputStream读取。
如下代码示例:

 public static void main(String[] args) throws Exception {
        PipedOutputStream pos = new PipedOutputStream();
        PipedInputStream pis = new PipedInputStream();


        Thread thread = new Thread(new Runnable() {
            @Override
            public void run() {
                try {
                    //将 PipedInputStream 连接到 PipedOutputStream
                    pis.connect(pos);
                    byte[] data = new byte[1024];

                 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值