美文网首页
Java使用管道流实现线程通信

Java使用管道流实现线程通信

作者: 黎繁介 | 来源:发表于2018-06-10 15:42 被阅读12次

        前两节我们讲的是让线程之间协调运行,之间没有实际上的通信,下面我们用管道流来实现两个线程之间的通信。管道流有:PipedInputStreamPipedOutputStream(管道字节流)、PipedWriterPipedReader(管道字符流)、Pipe.SinkChannelPipe.SourceChannel(新IO管道的Channel)。        

使用规则:

        1.使用new操作符新建管道输入、输出流。

        2.使用管道输入流或管道输出流的connect方法将输入输出流连接起来。

        3.将输入、输出流传入各自线程。

        4.最终两个线程依赖对应的流来实现之间的通信。

代码示范(以字符流为例,其它形式以与其一般):

管道输出流线程 管道输入流线程 测试结果

        通常我们没不要去使用管道流是实现两个线程之间的通信,因为线程间是属于同一个进程的,他们共用同一个数据,能很好的实现数据交换。


---------------上一节“Java-线程的协调运行”--------------------

---------------下一节“Java-线程组”-----------------------------

相关文章

  • Java使用管道流实现线程通信

    前两节我们讲的是让线程之间协调运行,之间没有实际上的通信,下面我们用管道流来实现两个线程之间的通信。管道流有:Pi...

  • Java多线程的使用通信和控制

    Java多线程的使用通信和控制 1. Java多线程的使用和通信 实现多线程有两种方式 1. 继承Thread父类...

  • Java IO: Pipes

    Java IO: Pipes 在同一个JVM中我们可以使用Pipes使得两个线程通信。 使用Java IO创建管道...

  • Java IO 之 管道流 原理分析

    概述 管道流是用来在多个线程之间进行信息传递的Java流。管道流分为字节流管道流和字符管道流。字节管道流:Pipe...

  • Java socket

    Java Socket实现基于TCP和UDP多线程通信Java Socket编程

  • Java 通过管道进行线程间通信

    Java 中的管道流(pipeStream)可以在不同线程间直接传送数据。一个线程发送数据到输出管道,另一个线程从...

  • Java多线程(2)

    Java多线程(2) 线程间的通信 线程间的通信又称为进程内通信,多个线程实现互斥访问共享资源时会互相发送信号或等...

  • 第二节、Handler消息机制

    一、为什么要设计handler Java 多线程通信 Java 中有很多种方法实现线程之间相互通信访问数据,大概先...

  • Java线程简介

    本文将介绍Java线程的状态、线程的中断、线程间通信和线程的实现。 线程的状态 Java语言定义了6种不同的线程状...

  • 深入理解java虚拟机第12章Java内存模型与线程

    12.4 Java与线程 12.4.1 线程的实现 实现线程主要有三种方式:使用内核线程实现、使用用户线程实现、使...

网友评论

      本文标题:Java使用管道流实现线程通信

      本文链接:https://www.haomeiwen.com/subject/nzrfeftx.html