File tree 1 file changed +11
-10
lines changed
1 file changed +11
-10
lines changed Original file line number Diff line number Diff line change 11
11
12
12
表 ` 14-1 ` 。不同 ` Queue ` 和 ` Deque ` 实现的比较性能
13
13
14
- offer peek poll size
15
- PriorityQueue O(log n) O(1) O(log n) O(1)
16
- ConcurrentLinkedQueue O(1) O(1) O(1) O(n)
17
- ArrayBlockingQueue O(1) O(1) O(1) O(1)
18
- LinkedBlockingQueue O(1) O(1) O(1) O(1)
19
- PriorityBlockingQueue O(log n) O(1) O(log n) O(1)
20
- DelayQueue O(log n) O(1) O(log n) O(1)
21
- LinkedList O(1) O(1) O(1) O(1)
22
- ArrayDeque O(1) O(1) O(1) O(1)
23
- LinkedBlockingDeque O(1) O(1) O(1) O(1)
14
+ |offer | peek | poll | size
15
+ --- |--- |--- |--- |---
16
+ PriorityQueue |O(log n) | O(1) | O(log n) | O(1)
17
+ ConcurrentLinkedQueue |O(1) | O(1) | O(1) | O(n)
18
+ ArrayBlockingQueue |O(1) | O(1) | O(1) | O(1)
19
+ LinkedBlockingQueue |O(1) | O(1) | O(1) | O(1)
20
+ PriorityBlockingQueue |O(log n) | O(1) | O(log n) | O(1)
21
+ DelayQueue |O(log n) | O(1) | O(log n) | O(1)
22
+ LinkedList |O(1) | O(1) | O(1) |O(1)
23
+ ArrayDeque |O(1) | O(1) | O(1) |O(1)
24
+ LinkedBlockingDeque |O(1) | O(1) | O(1) |O(1)
24
25
25
26
问题在于你是否需要阻塞方法,就像你通常为生产者 - 消费者问题所做的那样(要么是因为消费者必须通过等待来处理一个空队列,要么是因为想通过限制队列限制对它们的需求,然后生产者有时必须等待)。如果您不需要阻塞方法或队列大小的限制,请选择高效且免等待的 ` ConcurrentLinkedQueue ` 。
26
27
You can’t perform that action at this time.
0 commit comments