阻塞队列的性能对比
来源:互联网 发布:java返回值类引用 编辑:程序博客网 时间:2024/05/23 16:45
阻塞队列的性能对比
主要是比较offer跟poll两个方法的性能,开N个线程,每个线程往队列里写或者取500个整数。
线程数
20
50
100
200
5001000
LinkedBlockingQueue
15,0
31,15
32,16
63,32
203,47
563,110
ArrayBlockingQueue15,0
16,15
31,15
47,16
125,47
364,68
PriorityBlockingQueue78,78
172,188
360,422
813,969
3094,2641
6547,5453
20
50
100
200
5001000
LinkedBlockingQueue
15,0
31,15
32,16
63,32
203,47
563,110
ArrayBlockingQueue15,0
16,15
31,15
47,16
125,47
364,68
PriorityBlockingQueue78,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
- 阻塞队列的性能对比
- 阻塞队列的性能对比
- 阻塞队列的性能对比
- 高性能阻塞队列
- 性能测试线程队列阻塞的现象之一
- Redis作为消息队列与RabbitMQ的性能对比
- [转]Redis作为消息队列与RabbitMQ的性能对比
- Redis作为消息队列与RabbitMQ的性能对比
- [转]Redis作为消息队列与RabbitMQ的性能对比
- Java的阻塞队列
- Condition的阻塞队列
- 使用阻塞队列批量导入与使用forkjoinPool框架的导入对比
- 阻塞式的消息队列
- 可阻塞的队列BlockingQueue
- Java阻塞队列的实现
- Java阻塞队列的实现
- Java阻塞队列的实现
- Java阻塞队列的实现
- Oracle密码文件的创建、使用和维护
- 用API OleLoadPicture通过IStream来加载JPG、GIF格式的图片
- java中File类的简单使用-黑马程序员
- java引用数据类型
- 怎样设置Firefox4支持delicious插件
- 阻塞队列的性能对比
- orcale ORA-02291:违反完整约束条件-未找到父项关键字
- MFC中窗口美化函数
- 计算机视觉与超自然物种 by Peter Tu
- DB2视图
- 并发队列ConcurrentLinkedQueue和阻塞队列LinkedBlockingQueue在入队操作高并发性能比较
- VC弹出"选择文件"和"选择文件夹"对话框
- 业界资讯:flash player 11 和air 3.0 beta发布
- 关于重载,覆盖/隐藏,虚函数,纯虚函数,多重继承