1、等队列满了之后,将元素再次插入到队列,就会抛出IllegalStateException(QueueFull)异常。
2、如果队列为空,那么从队列中提取一个元素将引发NoSuchElementException异常。
实例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | public class MyBlockQueue {
public static void main(String[] args) {
ArrayBlockingQueue<Integer> q = new ArrayBlockingQueue<Integer>(3);
new Thread(()->{
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();
new Thread(()->{
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();
}
}
|
登录后复制
以上是java队列抛出异常实例分析的详细内容。更多信息请关注PHP中文网其他相关文章!