AQS-节点的起始状态0是怎么来的,为什么要有0这个状态?

首先看下代表节点状态的是哪个字段: 这时候可以发现waitStatus是int类型,默认值自然就为0了。 所以这时候就可以先知道,为什么节点的起始状态是0。那么接下来看一段代码: 从以上截图可以发现,当ws的值是0时,会走进else中的逻辑,通过CAS把0设置为-1,那为什么不一开始就设置为-1呢,还要多出这一步? 这里分享一个简单的理解思路,状态存在即是合理,会不会有一些方法,是在节点状态值为0
相关文章
相关标签/搜索