java多线程使用PipedOutStream和PipedInputStream
package test; import java.io.PipedInputStream; import java.io.PipedOutputStream; public class PipeTest { public static void main(String[] args) throws Exception { PipedOutputStream pos = new PipedOutputStream(); PipedInputStream pis = new PipedInputStream(); //链接 pis.connect(pos); //写线程 InThread it = new InThread(pos,pis); //读线程 OutThread ot = new OutThread(pos,pis); it.start(); ot.start(); Thread.sleep(1000); } } class InThread extends Thread{ PipedOutputStream pos = null; PipedInputStream pis = null ; InThread(PipedOutputStream pos,PipedInputStream pis ){ this.pos = pos; this.pis = pis; } public void run() { try { //写入数据 byte[] b = new String("this is a test !").getBytes(); pos.write(b); //关闭链接,此处必须关闭,不然会包异常 pos.close(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } } class OutThread extends Thread{ PipedInputStream pis = null ; PipedOutputStream pos = null; OutThread(PipedOutputStream pos,PipedInputStream pis){ this.pis = pis; this.pos = pos; } public void run() { //读取数据 String m = ""; byte[] b = new byte[1024]; try { int len ; len = pis.read(b); m = m+ new String(b); while(len!=-1) { len = pis.read(b); m = m+ new String(b); } //关闭资源 pis.close(); System.out.println(m); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
当前标题:java多线程使用PipedOutStream和PipedInputStream
标题路径:http://azwzsj.com/article/jcehdd.html