在多個線程的使用中,可以使用管道流把線程進行連接。這里有的人會把它用到一個線程中,是行不通的。管道流分為兩種類型:字節流和字符流。在使用上有諸多需要注意的地方,今天從最基礎的線程實例學起,這也是java管道流簡單的用法,下面就java管道流發送線程的基礎概念、使用、實例為大家帶來詳細內容分享。
1.概念
管道流主要用于連接兩個線程的通信。管道流也分為字節流(PipedInputStream、PipedOutputStream)和字符流(PipedReader、PipedWriter)。
2.使用事項
第一,管道流僅用于多個線程之間傳遞信息,若用在同一個線程中可能會造成死鎖;
第二,管道流的輸入輸出是成對的,一個輸出流只能對應一個輸入流,使用構造函數或者connect函數進行連接;
第三,一對管道流包含一個緩沖區,其默認值為1024個字節,若要改變緩沖區大小,可以使用帶有參數的構造函數;
第四,管道的讀寫操作是互相阻塞的,當緩沖區為空時,讀操作阻塞;當緩沖區滿時,寫操作阻塞;
第五,管道依附于線程,因此若線程結束,則雖然管道流對象還在,仍然會報錯“read dead end”;
第六,管道流的讀取方法與普通流不同,只有輸出流正確close時,輸出流才能讀到-1值。
3.實例
以上就是java管道流發送線程的方法,作為最基礎的管道流操作線程方法,是需要每個初學者需要掌握的,理解完基礎內容后就可以運行代碼部分。更多關于“Java培訓”的問題,歡迎咨詢千鋒教育在線名師。千鋒已有十余年的培訓經驗,課程大綱更科學更專業,有針對零基礎的就業班,有針對想提升技術的好程序員班,高品質課程助力你實現java程序員夢想。