>  기사  >  Java  >  Java 대기열에서 발생하는 예외 사례 분석

Java 대기열에서 발생하는 예외 사례 분석

WBOY
WBOY앞으로
2023-05-19 11:13:05941검색

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제