生产者-消费者模式为多线程间的协作提供了良好解决方案。在C-P模式中,通常有两个线程:若干个生产者线程和若干个消费者线程。生产者线程负责提交用户请求,消费者线程负责处理生产者提交的任务。生产者和消费者之间则通过内存共享缓冲区进行通信。
数据共享通道:BlockingQueue
BlockingQueue是一个接口,主要的实现有下面这些:
1 ArrayBlockingQueue
基于数组实现,更适合做有界队列,可容纳的最大元素可再队列创建的时候指定。
ArrayBlockingQueue的内部元素