Queue instances based on a best fit to the ConcurrentQueueSpec.Queue
interface sufficient for concurrent message passing.ConcurrentCircularArrayQueue.ConcurrentCircularArrayQueue.AtomicReferenceArrayQueue.Queue.offer(Object) interface.Queue.offer(Object) interface.Queue.offer(Object) interface.Queue.offer(Object) interface.MpscArrayQueue#offer(E)} if MpscArrayQueue.size() is less than threshold.ConcurrentLinkedQueue
which is an unbounded multi-producer, multi-consumer queue which is further encumbered by the need to implement
the full range of Queue methods.Queue.peek() interface.Queue.peek() interface.Queue.peek() interface.Queue.peek() interface.Queue.poll() interface.Queue.poll() interface.Queue.poll() interface.Queue.poll() interface.Queue.poll() interface.Queue.poll() interface.Queue instances based on a best fit to the ConcurrentQueueSpec.AtomicReferenceFieldUpdater and similar but their performance is arguably worse than the DIY approach
(depending on JVM version) while Unsafe intrinsification is a far lesser challenge for JIT compilers.Copyright © 2013–2016. All rights reserved.