概述
在jdk11源码-ReentrantLock源码一文中分析了ReentrantLock源码。里面有讲述在多个线程加入队列时的AQS内部状态:
==简单来说:condition的await和signal操作就是将node节点在这两个队列中转移的过程,这里重点关注waitstatus和nextwaiter两个字段。后面会逐行代码分析==
创建Condition
一个ReentrantLock可以创建多个ConditionCondition condition = lock.newCondition();
实际是创建一个Condition 对象,Condition 的定义在AbstractQueuedSynchronizer中。
nextWaiter
在之前的文章中介绍了,一个node对象中有两个重要的对象属性:
volati 继续阅读与本文标签相同的文章
-
在 Homebrew 上发布 Golang 项目
2026-05-22栏目: 教程
-
直击7.24 | 云上开发,阿里云帮助开发者解决两个核心问题
2026-05-22栏目: 教程
-
《Spring+MyBatis企业应用实战(第2版)》| 每日读本书
2026-05-22栏目: 教程
-
Java程序员如何做到Java架构师
2026-05-22栏目: 教程
-
全球云加速:如何快速、稳定、高质量的跨境访问云资源
2026-05-22栏目: 教程
