Both collections are thread safe. The difference is that a ConcurrentLinkedDeque implements Deque , which supports adding and removing elements from both ends (e.g. addFirst and addLast ), while ConcurrentLinkedQueue implements Queue , which allows you to insert at one end, called the tail of the queue, and delete at the other end, called the head of the queue.
source share