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(); } } }
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31506529/viewspace-2200197/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- java使用多執行緒Java執行緒
- Java多執行緒-執行緒池的使用Java執行緒
- java多執行緒之執行緒的基本使用Java執行緒
- Java多執行緒 -- wait() 和 notify() 使用入門Java執行緒AI
- 多執行緒和多執行緒同步執行緒
- Java多執行緒-執行緒中止Java執行緒
- Java多執行緒Thread類使用Java執行緒thread
- Java多執行緒的使用(二)Java執行緒
- Java多執行緒-Callable和FutureJava執行緒
- 【Java多執行緒】輕鬆搞定Java多執行緒(二)Java執行緒
- 多執行緒:執行緒池理解和使用總結執行緒
- JAVA多執行緒詳解(3)執行緒同步和鎖Java執行緒
- JAVA多執行緒使用場景和注意事項Java執行緒
- java——多執行緒Java執行緒
- java多執行緒Java執行緒
- Java - 多執行緒Java執行緒
- java 多執行緒Java執行緒
- Java多執行緒之執行緒中止Java執行緒
- Java多執行緒-執行緒狀態Java執行緒
- Java多執行緒-執行緒通訊Java執行緒
- java 多執行緒守護執行緒Java執行緒
- Java多執行緒(2)執行緒鎖Java執行緒
- java多執行緒9:執行緒池Java執行緒
- 【java多執行緒】(二)執行緒停止Java執行緒
- java執行緒之守護執行緒和使用者執行緒Java執行緒
- Java多執行緒學習(一)Java多執行緒入門Java執行緒
- Java多執行緒——synchronized的使用示例Java執行緒synchronized
- java多執行緒系列:Semaphore和ExchangerJava執行緒
- Java多執行緒(一)多執行緒入門篇Java執行緒
- 【Java多執行緒】執行緒安全的集合Java執行緒
- 【Java】【多執行緒】執行緒池簡述Java執行緒
- java 多執行緒之使用 interrupt 停止執行緒的幾種方法Java執行緒
- Java 多執行緒基礎(十一)執行緒優先順序和守護執行緒Java執行緒
- 【java】【多執行緒】獲取和設定執行緒名字、獲取執行緒物件(3)Java執行緒物件
- java 多執行緒CountDownLatchJava執行緒CountDownLatch
- java 多執行緒-3Java執行緒
- java 多執行緒-2Java執行緒
- java 多執行緒 –同步Java執行緒