ConcurrentLinkedDeque 与 ArrayDeque

Lea*_*ner 2 java deque arraydeque

我知道它们两者之间的基本区别是 ConcurrentLinkedDeque 可以在多线程应用程序中使用。

任何人都可以给我一个实际的例子,如果错误使用它会如何影响应用程序的性能,在哪种情况下我应该使用 ConcurrentLinkedDeque 以及何时使用 ArrayDeque。

Kev*_*son 5

ConcurrentLinkedDeque如果您需要从多个线程同步访问队列,请使用该方法ArrayDeque(如果不需要)。

时期。

使用错误的后果是,如果您尝试在多线程设置中访问 ,ArrayDeque您将损坏队列。

时期。

这是您唯一的性能考虑因素。其他的都是没有意义的。

除非...

您通过分析器运行您的应用程序,发现它的大部分时间都花在ConcurrentLinkedDeque.size(). 然后切换到ArrayDeque包裹在块中synchronized

讲座结束;)