欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

阻塞队列的性能对比

程序员文章站 2022-03-11 09:45:01
...

阻塞队列的性能对比

主要是比较offer跟poll两个方法的性能,开N个线程,每个线程往队列里写或者取500个整数。

线程数
20
50
100
200
500 1000
LinkedBlockingQueue     
15,0
31,15
32,16
63,32
203,47
563,110
ArrayBlockingQueue 15,0
16,15
31,15
47,16
125,47
364,68
PriorityBlockingQueue 78,78
172,188
360,422
813,969
3094,2641
6547,5453


逗号前的数字是offer测试花费的时间,逗号后的数字是poll测试花费的时间。
结论:
1、ArrayBlockingQueue性能优于LinkedBlockingQueue,但是LinkedBlockingQueue是*的。
2、ArrayBlockingQueue和LinkedBlockingQueue的poll方法总是比offer方法快,并发越高,差距越大
3、ArrayBlockingQueue和LinkedBlockingQueue的性能远高于PriorityBlockingQueue,显然优先队列在比较优先级上的操作上耗费太多
4、PriorityBlockingQueue的offer方法与poll方法的性能差距很小,基本维持在近似1:1