ArrayBlockingQueue中方法的基本使用

55 阅读1分钟

生产者生产数据

  • 使用add()方法向队列中添加元素,在队列满的时候会抛出异常。

在这里插入图片描述

  • ArrayBlockingQueue是基于数组实现,初始化完成后长度是不可变的,在其构造方法中也都是有参构造,初始化对象时必须指定当前队列的长度。

在这里插入图片描述

  • 使用offer()方法向队列中放元素,队列没有可用空间会返回false

在这里插入图片描述

  • 设置阻塞等待时间的长度,时间到了就输出false了

在这里插入图片描述

  • put方法向队列中添加元素则会因为队列中满了而一直等待阻塞

在这里插入图片描述

消费者消费数据

  • 遵循FIFO原则,队列为空则会抛出异常

在这里插入图片描述

  • poll取元素要是队列为空,则返回Null

在这里插入图片描述

  • 阻塞设置的等待时间之后就会输出null 在这里插入图片描述
  • take方法会因为拿不到数据而一直阻塞 在这里插入图片描述