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.