momo momo - 5 months ago 82
Java Question

Java, ConcurrentLinkedDeque vs ConcurrentLinkedQueue - the difference?

Api links for ConcurrentLinkedDeque and ConcurrentLinkedQueue:

http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ConcurrentLinkedDeque.html

http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ConcurrentLinkedQueue.html

What is the difference between the two?

The first one, DeQueue has a lot more methods, but what is the fundamental difference between the two?

Answer

Both collections are thread-safe. The difference is that a ConcurrentLinkedDeque implements a Deque, which supports addition and removal of elements at both ends (e.g. addFirst and addLast), whereas ConcurrentLinkedQueue implements a Queue which allows insertion at one end called the tail of the queue and removal at the other end, called the head of the queue.

Comments