天天看點

阻塞隊列的性能對比

主要是比較offer跟poll兩個方法的性能,開n個線程,每個線程往隊列裡寫或者取500個整數。

線程數

20

50

100

200

500

1000

linkedblockingqueue     

15,0

31,15

32,16

63,32

203,47

563,110

arrayblockingqueue

16,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,顯然優先隊列在比較優先級上的操作上耗費太多文章轉自莊周夢蝶 

<b>,原文釋出時間</b>2008-09-08 <b></b>