针对我的在开发的一个搜索工具,由于以前并无设计,有现成的,可是须要作一个内部使用的工具,因此就作了个山寨版,没有设计,直接上手开发,看了program_think的博文后,忽然想起之前的本身明明就是设计偏心设计,因此针对性的总结一下。多线程
关联关系:工具
首先声明缓冲区能够采用队列缓冲区,环形缓冲区,或者采用两个队列缓冲区(取出若是采用多线程时的同步和死锁开销)。spa
缓冲区能够做为缓冲类的成员,内部还有生产者对象和消费者对象。生产者将产出的数据保存到缓冲类的缓冲区中,若是采用线程
队列缓冲区,当队列大小达到必定程度时,消费者对象开始处理数据,pop出队列数据,而后处理数据,必定要注意,若是设计
生产类和消费类采用两个线程,那么必定要注意缓冲区使用的同步和死锁控制。orm
针对我的的搜索工具最须要改进的就是下降类之间的耦合性。好了,就先说到这里了。对象