实验结论:在JDK1.8下,LinkedBlockingQueue性能优于ArrayBlockingQueue
实验一:
public class BlockQueueApp {
public static void main(String[] args) {
//final LinkedBlockingQueue<Integer> queue = new LinkedBlockingQueue<Integer>(10000);
final ArrayBlockingQueue<Integer> queue = new ArrayBlockingQueue<Integer>(10000);
final Long start = System.currentTimeMillis();
new Thread(new Runnable() {
public void run() {
for (int i = 0; i < 99999999; i++) {
try {
queue.put(i);
} catch (Exception e) {
e.printStackTrace();
}
}
}
}).start();
for (int j = 0; j < 10; j++) {
new Thread(new Runnable() {
public void run() {
try

实验显示,在JDK1.8环境下,LinkedBlockingQueue在性能上优于ArrayBlockingQueue。实验一的数据显示,LinkedBlockingQueue的平均耗时明显低于ArrayBlockingQueue,两者相差约2700ms。
最低0.47元/天 解锁文章
8287

被折叠的 条评论
为什么被折叠?



