Re: [問題] PipedInputStream 相關疑問

看板java作者 (小小吳)時間10年前 (2014/04/24 19:55), 10年前編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/7 (看更多)
恕刪部分 ※ 引述《popcorny (畢業了..@@")》之銘言: : 因為同個process : 所以我們應該可以使用更high level的class去傳遞 : 例如BlockingQueue : 同樣也可以有同樣的效果 瞭解 : 因為pipe有buffer size(pipe size) : producer如果寫到滿的時候會block : consumer如果拉倒空的時候也會block : 若是同一個人去讀或寫 : 那就會卡死沒人叫醒 瞭解,為此我好奇去看了預設的緩衝大小,總共是 1024 位元組... 話說第一篇原文我的假設好像錯了,我實驗了一下, Output 和 Input 輪流放/拉一個位元組並不會 block, 是像你說的寫滿或拉到空才會 block。 : : 3. 用 PipedInputStream 和 PipedOutputStream 會不會造成效能問題? : : 或任何其他的問題? 有人有相關的經驗嗎? : 不會.. pipe是很好的東西。因為他的資料都在memeory,所以應該很快.. : 還有你的應用我會選擇用temp file : 因為檔案一大,用pipe就gg了.. 這點我就覺得奇怪了,請問為什麼檔案一大起來就會出問題? 這兩個管線類別好像不會囤積用過的資料, 如果 read 出來的資料處理完馬上就回收的話應該不會持續占記憶體才對。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 163.24.254.149 ※ 文章網址: http://www.ptt.cc/bbs/java/M.1398340529.A.4A3.html ※ 編輯: willy69wu31 (163.24.254.149), 04/24/2014 19:55:52
文章代碼(AID): #1JMFknIZ (java)
討論串 (同標題文章)
文章代碼(AID): #1JMFknIZ (java)