概述
SynchronousQueue是一个同步阻塞队列,每一个 put操作都必须等待一个take操作。每一个take操作也必须等待一个put操作。
SynchronousQueue是没有容量的,无法存储元素节点信息,不能通过peek方法获取元素,peek方法会直接返回null。由于没有元素,所以不能被迭代,它的iterator方法会返回一个空的迭代器Collections.emptyIterator();。
SynchronousQueue比较适合线程通信、传递信息、状态切换等应用场景,一个线程必须等待另一个线程传递某些信息给他才可以继续执行。
SynchronousQueue这个队列不常用,但是线程池中有用到该队列,所以也分析一下。Executors.newCachedThreadPool()方法中使用到了SynchronousQue
继续阅读与本文标签相同的文章
-
直击7.24 | 云上开发,阿里云帮助开发者解决两个核心问题
2026-05-22栏目: 教程
-
《Spring+MyBatis企业应用实战(第2版)》| 每日读本书
2026-05-22栏目: 教程
-
Java程序员如何做到Java架构师
2026-05-22栏目: 教程
-
全球云加速:如何快速、稳定、高质量的跨境访问云资源
2026-05-22栏目: 教程
-
从零到破万节点!支撑618大促背后的蚂蚁金服Kubernetes集群
2026-05-22栏目: 教程
