[英]How to stream data into the chain of operations
我正在嘗試將單詞從一種操作流式傳輸到另一種操作。 換句話說,考慮到我有三個類及其操作,即Cleaner.eraseDublicate()
, Matcher.detectCityName
, Tokenizer.concatenate()
。 而且,我有一個大的哈希表, word, frequency
作為鍵,值。 我想構建一個如草圖所示的流式操作。 也就是說, Tokenizer.concatenate()
將讀取哈希表的前五個條目,並執行其自身的操作; 然后,將其結果流式傳輸到Cleaner.eraseDublicate()
以便刪除重復項。 此外, Cleaner.eraseDublicate()
將流式傳輸到Matcher.detectCityName()
。 如何連接這些操作並僅獲取五個條目並將其流式傳輸到操作鏈?
Tokenizer.concatenate() Cleaner.eraseDublicate() Matcher.detectCityName()
------------ ---------- ---------- ----------
| hash | -------> | | -------> | | -------> | |
| table | | | | | | |
------------ ---------- ---------- ----------
我不了解您真正想要的是什么,但是我認為管道設計模式是您所需要的。 它是為並行編程而設計的,僅在“ 並行編程模式”中可以找到。
簡而言之,它由階段和隊列結構組成。 每個階段從前一個隊列中獲取數據,然后放入下一個隊列。 重要的是,如果隊列中沒有數據,則使用BlockingQueue進行阻塞。
無論如何,請閱讀博客文章,如果您有任何疑問,請告訴我。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.