我需要生成ñ消費者線程,能同時處理相同的InputStream,例如: - 以某種方式進行轉換,計算校驗和數字簽名等,這些消費者不依賴於對方,他們都正在使用第三方庫,它接受InputStream作爲數據源。並行處理與獨立的消費者
所以,我能做的就是 - 創造InputStream的一些實施,這將
- 從「父母」流
- 疏通消費者數據的讀取塊
- 等到每個消費者讀取整個塊
- 下一個讀取塊
,同時看着簡單,它可能上升象livelo各種問題當某些消費者死亡時,實施所有InputStream方法,使用障礙/鎖存器等控制消費者自己的叉/加入。
一位好友告訴我,實施了半小時,這使我的晚上。
我寧願要麼使用足夠成熟的東西(谷歌搜索沒有結果,因此,我的谷歌福不夠好?)或不打擾和複製整個「源」流到臨時文件並將其用作數據源。後一種解決方案似乎更可靠,但最終可能會創建GB級文件(例如處理流式音頻時)。
你可以將數據寫入文件併產生N個FileInputStreams嗎? –
@JonLin正如他在問題結束時所說的那樣,他可以。 –