1、等隊列滿了之后,將元素再次插入到隊列,就會拋出IllegalStateException(QueueFull)異常。
2、如果隊列為空,那么從隊列中提取一個元素將引發(fā)NoSuchElementException異常。
實(shí)例
public class MyBlockQueue {
public static void main(String[] args) {
ArrayBlockingQueueq = new ArrayBlockingQueue(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隊列拋出異常的介紹,希望對大家有所幫助。更多關(guān)于“java培訓(xùn)”的問題,歡迎咨詢千鋒教育在線名師。千鋒教育多年辦學(xué),課程大綱緊跟企業(yè)需求,更科學(xué)更嚴(yán)謹(jǐn),每年培養(yǎng)泛IT人才近2萬人。不論你是零基礎(chǔ)還是想提升,都可以找到適合的班型,千鋒教育隨時歡迎你來試聽。