Java如何使用PriorityBlockingQueue类?
本示例演示如何使用PriorityBlockingQueue该类。该PriorityBlockingQueue是一个实现BlockingQueue接口。这是一个无限制的并发队列。此类队列中的对象位置必须实现java.lang.Comparable接口。该Comparable接口定义此队列内元素的顺序优先级。
为简单起见,在此示例中,我们使用字符串对象作为要放入队列中的元素。本String类实现可比的接口。当我们运行此示例时,它将按字母顺序打印出字符串数组中的名称。
package org.nhooo.example.util.concurrent;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.PriorityBlockingQueue;
public class PriorityBlockingQueueExample {
public static void main(String[] args) {
final String[] names =
{"carol", "alice", "malory", "bob", "alex", "jacobs"};
final BlockingQueue<String> queue = new PriorityBlockingQueue<>();
new Thread(new Runnable() {
@Override
public void run() {
for (int i = 0; i < names.length; i++) {
try {
queue.put(names[i]);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}, "Producer").start();
new Thread(new Runnable() {
@Override
public void run() {
try {
for (int i = 0; i < names.length; i++) {
System.out.println(queue.take());
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}, "Consumer").start();
}
}这段代码打印出来:
alex alice bob carol jacobs malory
热门推荐
10 香港老妈结婚祝福语简短
11 毕业立体贺卡祝福语简短
12 简短新年年会祝福语
13 评论小品祝福语大全简短
14 恭喜师兄结婚祝福语简短
15 员工集体辞职祝福语简短
16 高中新生祝福语 简短
17 装修祝福语男生搞笑简短
18 生日开业蛋糕祝福语简短