阻塞队列是一种常见的多线程编程工具,它支持在队列为空或队列已满时进行阻塞等待操作。在 Java 中,你可以使用 java.util.concurrent
包中的 BlockingQueue
接口及其实现来实现阻塞队列。以下是一个简单的示例,展示如何使用 LinkedBlockingQueue
来实现阻塞队列:
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.LinkedBlockingQueue;
public class BlockingQueueExample {
public static void main(String[] args) {
// 创建一个容量为 10 的阻塞队列
BlockingQueue blockingQueue = new LinkedBlockingQueue<>(10);
// 生产者线程
Thread producerThread = new Thread(() -> {
try {
for (int i = 1; i <= 10; i++) {
blockingQueue.put(i); // 将元素放入队列,如果队列已满,则阻塞等待
System.out.println("Produced: " + i);
}
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
}
});