Rumah  >  Artikel  >  Java  >  Analisis contoh pengecualian yang dilemparkan oleh baris gilir java

Analisis contoh pengecualian yang dilemparkan oleh baris gilir java

WBOY
WBOYke hadapan
2023-05-19 11:13:05945semak imbas

1. Apabila baris gilir penuh dan elemen dimasukkan ke dalam baris gilir sekali lagi, pengecualian IllegalStateException (QueueFull) akan dilemparkan.

2. Jika baris gilir kosong, mengekstrak elemen daripada baris gilir akan menyebabkan pengecualian NoSuchElementException.

Instance

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

Atas ialah kandungan terperinci Analisis contoh pengecualian yang dilemparkan oleh baris gilir java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam