【Java多线程】JUC之并发容器—深入剖析并发队列SynchronousQueue(七)
- **SynchronousQueue**: 一个 **不存储元素(没有容量)** 的阻塞队列,,`每个插入操作(put)必须等到另一个线程调用移除操作(take)` (`即: 写入元素必须被移除后才能继续写入新的元素`),否则写入操作一直处于阻塞状态。支持公平锁(TransferQueue-FIFO)和非公平锁(TransferStack-LIFO)。相较于其他可缓存元素队列,适用于`单线程同步传递性场景`,**比如:消费者没拿走当前的产品,生产者是不能再给产品的,这样可以`控制生产者生产的速率和消费者
复制链接