Java puzzle, low latency queue
Join the DZone community and get the full member experience.Join For Free
There a number of ways to use queues. A simple and very fast queue is to use AtomicReference. (It stores 0 or 1 element)
1. Write a producer and consumer thread which communicates via an AtomicReference.
2. Have the consumer send messages back to the producer using another AtomicReference.
3. Time the throughput for one second repeatedly. What variation do you see?
4. Pad the AtomicReference to make sure they are at least 64 bytes apart in memory and measure again.
Opinions expressed by DZone contributors are their own.