Re: [問題] PipedInputStream 相關疑問

作者: willy69wu31 (小小吳)   2014-04-24 19:55:25
恕刪部分
※ 引述《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 出來的資料處理完馬上就回收的話應該不會持續占記憶體才對。

Links booklink

Contact Us: admin [ a t ] ucptt.com