java 添加一个队列的监听 使得当队列内有三个元素就全部打印并弹出
时间: 2024-05-14 15:13:00 浏览: 84
java中为table添加监听
您可以使用 Java 的 BlockingQueue 接口来完成该任务。具体实现步骤为:
1. 创建一个 BlockingQueue 对象,并指定队列的容量为 3。
2. 创建一个线程,在该线程中循环监听队列,并在队列中积累 3 个元素时,打印并弹出所有元素。
3. 在主线程中,向队列中添加元素。
以下是示例代码:
```
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.LinkedBlockingQueue;
public class QueueListener {
public static void main(String[] args) {
BlockingQueue<String> queue = new LinkedBlockingQueue<>(3);
Thread thread = new Thread(() -> {
while (true) {
try {
// 如果队列中有 3 个元素,则打印并弹出所有元素
while (queue.size() == 3) {
System.out.println(queue.take());
System.out.println(queue.take());
System.out.println(queue.take());
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
});
thread.start();
// 向队列中添加元素
queue.offer("a");
queue.offer("b");
queue.offer("c");
queue.offer("d");
queue.offer("e");
queue.offer("f");
}
}
```
当队列中有 3 个元素时,线程会打印并弹出这 3 个元素,输出结果如下:
```
a
b
c
```
阅读全文