发布时间:2022-02-24 文章分类:Java知识 投稿人:优优 字号: 默认 | | 超大 打印

620

1、等队列满了之后,将元素再次插入到队列,就会抛出IllegalStateException(QueueFull)异常。

2、如果队列为空,那么从队列中提取一个元素将引发NoSuchElementException异常。

实例

publicclassMyBlockQueue{
publicstaticvoidmain(String[]args){
ArrayBlockingQueue<Integer>q=newArrayBlockingQueue<Integer>(3);
newThread(()->{
q.add(1);
System.out.println(Thread.currentThread().getName()+"放入一个元素");
q.add(2);
System.out.println(Thread.currentThread().getName()+"放入一个元素");
q.add(3);
System.out.println(Thread.currentThread().getName()+"放入一个元素");
,"线程1").start();

newThread(()->{
q.remove();
System.out.println(Thread.currentThread().getName()+"拿走一个元素");
q.remove();
System.out.println(Thread.currentThread().getName()+"拿走一个元素");
q.remove();
System.out.println(Thread.currentThread().getName()+"拿走一个元素");
q.remove();
System.out.println(Thread.currentThread().getName()+"拿走一个元素");
,"线程2").start();