Java 生产者消费者模式中的线程
Java Threading in producer consumer pattern
我有一个使用生产者和消费者模式的代码。生产者生产一些数据对象将它们放入阻塞队列,消费者从队列中消费数据对象并将其发送到另一个class
生产者 --> 阻塞队列(数据对象)<-- 消费者 --> 解析器 --> 其他应用程序
现在生产者生产的速率可以变化,这意味着排队的数据对象可以变化。
在线程中处理消费者需要运行队列中的所有数据对象。
现在我的要求是在有大量数据对象排队的地方,我将消费者线程增加到预定义的数量,以便及时处理数据对象,但是当队列中的数据/数据量较少时队列减少了我也想减少线程。
简而言之,我想根据队列的大小来改变线程数。实现此目标的最佳方法是什么。
使用 java.util.concurrentThreadPoolExecutor
工作
我有一个使用生产者和消费者模式的代码。生产者生产一些数据对象将它们放入阻塞队列,消费者从队列中消费数据对象并将其发送到另一个class
生产者 --> 阻塞队列(数据对象)<-- 消费者 --> 解析器 --> 其他应用程序
现在生产者生产的速率可以变化,这意味着排队的数据对象可以变化。
在线程中处理消费者需要运行队列中的所有数据对象。
现在我的要求是在有大量数据对象排队的地方,我将消费者线程增加到预定义的数量,以便及时处理数据对象,但是当队列中的数据/数据量较少时队列减少了我也想减少线程。
简而言之,我想根据队列的大小来改变线程数。实现此目标的最佳方法是什么。
使用 java.util.concurrentThreadPoolExecutor
工作