常见队列
- ArrayBlockingQueue--基于数组实现,初始化时需要指定数组大小,也可指定公平性
- LinkedBlockingQueue--基于链表实现,不指定大小,默认Integer.MAX_VALUE
- ProirityBlockingQueue--按照优先级,无界队列,因此生产者永远不会阻塞
- delayQueue--延时队列
主要方法
- put()--向队尾存入数据,如果满则等待
- take()--从队首取数据,如果空则等待
- offer(E e, long time, TimeUnit unit)--向队尾存入数据,如果满则等待,如果指定时间过后,插入成功返回true,否则false
- poll(long time, TimeUnit unit)--从队首取数据,如果空则等待,如果指定时间过后,取出则返回,否则返回null
生产者消费者示例
