【发布时间】:2010-11-17 15:24:06
【问题描述】:
哪个 Java 阻塞队列最适合多生产者和单个或多个消费者场景?
我正在使用 LinkedBlockingQueue 进行测试,但出现 OutOfMemoryError 异常。
我正在努力实现以下目标。
- 生产者创建一个对象并放入队列中。
- 消费者从队列中抓取数据并插入数据库。会有 400 个生产者,我可以根据需要调整消费者。
如果有任何想法,请告诉我。
更新
Producer : 它应该监听 Server Socket。它从套接字读取数据并构造对象(域对象)并放入队列中。
消费者:从队列中取出对象并插入数据库(支持 Hiberante 和连接池)
这是我的真实环境。流程应该能够处理至少 200 条记录/秒。我正在测试流程的可扩展性以及如何改进它。我希望这会提供更好的想法。
有用的链接:
【问题讨论】:
标签: java multithreading queue