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!