有一个使用生产者和消费者模式实现的程序。生产者根据查询列表从db获取数据,并将其放入数组阻塞队列中。使用者根据数组阻塞队列中的数据准备excel报告。为了提高性能,我希望动态地增加生产者和消费者的数量。例如,当生产者缓慢时,有更多的生产者数量。.当消费者缓慢时,有更多的消费者数量。我如何才能拥有充满活力的生产者和消费者?
答案 0 :(得分:1)
如果这样做,则必须先问自己几个问题:
因此,假设您需要完整的报告数据(即单个使用者,需要完整的数据),并且可以将数据“分片”为独立的子集,并且瓶颈实际上就是您认为的那样,您可以这样做:
简而言之,这是一种问题,您可能应该考虑使用类似MapReduce
的问题。