Maison  >  Article  >  Java  >  Analyse des exemples d'exceptions levées par la file d'attente Java

Analyse des exemples d'exceptions levées par la file d'attente Java

WBOY
WBOYavant
2023-05-19 11:13:05941parcourir

1. Lorsque la file d'attente est pleine et que l'élément est à nouveau inséré dans la file d'attente, une exception IllegalStateException (QueueFull) sera levée.

2. Si la file d'attente est vide, l'extraction d'un élément de la file d'attente provoquera une exception NoSuchElementException.

Instances

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer