消息队列 · 2021年3月25日 0

ArrayBlockingQueue消息队列

  • ArrayBlockingQueue是Queue的一个子类,可以作为消息队列来进行使用
  • ArrayBlockingQueue底层是有数组来进行实现的,存在队列的参数不能为空,否则会抛出一个空指针异常
    在这里插入图片描述
    在这里插入图片描述
  • 在进行初始创建ArrayBlockingQueue时,可以指定两个参数
    public ArrayBlockingQueue(int capacity, boolean fair) {
    }
  • 一个是创建队列的长度,如果不指定的话默认值为int的最大长度
    在这里插入图片描述
    也就是20多亿条
  • 另外一个是一个布尔值,这个值是指定锁的类型,这里锁分为两种一种是公平锁一种是非公平锁,公平锁是按照线程等待的时间,非公平锁则是在随机性的,默认为公平锁;

在这里插入图片描述
在这里插入图片描述