1. 대기열이 가득 차서 요소가 다시 대기열에 삽입되면 IllegalStateException(QueueFull) 예외가 발생합니다.
2. 대기열이 비어 있는 경우 대기열에서 요소를 추출하면 NoSuchElementException 예외가 발생합니다.
인스턴스
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!