java多线程编程之管道通信详解-创新互联

上一章节讲了wait/notify通信,这一节我们来探讨使用管道进行通信。

10年积累的成都网站建设、成都网站制作经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先做网站设计后付款的网站建设流程,更有太原免费网站建设让你可以放心的选择与我们合作。

java中提供了IO流使我们很方便的对数据进行操作,pipeStream是一种特殊的流,用于不同线程间直接传送数据。一个线程将数据发送到输出管道,另一个线程从输入管道读取数据。通过管道实现通信不需要借助临时文件这类东西。


java中提供了四个类使得线程间可以通信:


①字节流:PipeInputStream,PipedOutputStream
②字符流:PipedReader,PipedWriter

下面我们看看字节流的实现方法:

package pipeInputOutput;
//输出流
import java.io.IOException;
import java.io.PipedOutputStream;
public class WriteDate {
 public void writeMethod(PipedOutputStream out) {
  try {
   System.out.println("write:");
   for(int i=0;i<300;i++) {
    String outDate=""+(i+1);
    out.write(outDate.getBytes());
    System.out.print(outDate);
   }
   System.out.println();
   out.close();
  }catch(IOException e) {
   e.printStackTrace();
  }
 }
}


当前标题:java多线程编程之管道通信详解-创新互联
URL网址:http://myzitong.com/article/esjeh.html