阻塞队列
定义
当队列为空时,出队操作会被阻塞;当队列满时,入队操作会被阻塞。
性质
- 支持阻塞操作:
put()(入队,满则阻塞)、take()(出队,空则阻塞)。 - 常用于线程间协作(如线程池、消息队列)。
- Java 实例:
ArrayBlockingQueue、LinkedBlockingQueue。
实例
import java.util.concurrent.ArrayBlockingQueue;
ArrayBlockingQueue<Integer> queue = new ArrayBlockingQueue<>(10);
// 入队(队列满时阻塞)
queue.put(1);
// 出队(队列空时阻塞)
Integer item = queue.take();