Heim  >  Artikel  >  Java  >  Analyse von Ausnahmebeispielen, die von der Java-Warteschlange ausgelöst werden

Analyse von Ausnahmebeispielen, die von der Java-Warteschlange ausgelöst werden

WBOY
WBOYnach vorne
2023-05-19 11:13:05941Durchsuche

1. Wenn die Warteschlange voll ist und das Element erneut in die Warteschlange eingefügt wird, wird eine IllegalStateException (QueueFull)-Ausnahme ausgelöst.

2. Wenn die Warteschlange leer ist, führt das Extrahieren eines Elements aus der Warteschlange zu einer NoSuchElementException-Ausnahme.

Instanzen

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();
    }
}

Das obige ist der detaillierte Inhalt vonAnalyse von Ausnahmebeispielen, die von der Java-Warteschlange ausgelöst werden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen