SynchronousQueue
SynchronousQueue is a specialized blocking queue in the Java standard library that has no internal capacity. It is designed for direct handoff of elements between producer and consumer threads: each insertion by a producer must wait for a corresponding removal by a consumer, and each removal must wait for a corresponding insertion. In practice, an item is transferred directly from the thread offering it to the thread taking it, with no buffering.
The queue supports the standard BlockingQueue operations: put and take, which block indefinitely until a counterpart
Common uses include direct handoffs in thread pools and other scenarios where tasks should be handed off