針對我的在開發的一個搜索工具,由於以前並無設計,有現成的,可是須要作一個內部使用的工具,因此就作了個山寨版,沒有設計,直接上手開發,看了program_think的博文後,忽然想起之前的本身明明就是設計偏心設計,因此針對性的總結一下。多線程
關聯關係:工具
首先聲明緩衝區能夠採用隊列緩衝區,環形緩衝區,或者採用兩個隊列緩衝區(取出若是採用多線程時的同步和死鎖開銷)。spa
緩衝區能夠做爲緩衝類的成員,內部還有生產者對象和消費者對象。生產者將產出的數據保存到緩衝類的緩衝區中,若是採用線程
隊列緩衝區,當隊列大小達到必定程度時,消費者對象開始處理數據,pop出隊列數據,而後處理數據,必定要注意,若是設計
生產類和消費類採用兩個線程,那麼必定要注意緩衝區使用的同步和死鎖控制。orm
針對我的的搜索工具最須要改進的就是下降類之間的耦合性。好了,就先說到這裏了。對象