SynchronousQueue更像是一个传递,而linkedBlockingQueue仅允许单个元素。区别在于对SynchronousQueue的put()调用直到有相应的take()调用
才返回 ,但linkedBlockingQueue的大小为1,则put()调用(对空队列)将立即返回。
我不能说自己曾经直接使用过SynchronousQueue,但这是用于
Executors.newCachedThreadPool()方法的默认BlockingQueue
。当您 实际上 不需要队列(您不想维护任何暂挂数据)时,它实际上是BlockingQueue实现。



