|  |      1codehz      2022-06-14 10:24:47 +08:00 via iPhone 两个变量那还得处理这两个变量的同步问题了,是不是还得加一个锁去保证呢(笑 | 
|  |      2huang119412      2022-06-14 11:21:57 +08:00 Doug Lea 的编程习惯,极致的优化。这种情况很多,比如 ThreadPoolExecutor 中 ctl 一个字段表示线程数和线程池状态。好处是节省了内存,判断逻辑代码更少,并且没有伪共享问题,缺点是对普通人来说可读性变差了。毕竟是基础库,性能更重要。自己写代码的话,没必要这样。 | 
|      3TWorldIsNButThis      2022-06-14 11:30:54 +08:00 via iPhone @huang119412 可读性主要是 java 的问题 随便一个支持 extension 、inline 的语言在这个场景都能做到无损提升可读性 | 
|  |      4Rumble66      2022-06-14 12:55:34 +08:00 这两个计算变量是用 AQS 的 state 拆分得来, 随你 ReadWriteLock 怎么拆分定义 state, aqs 只有一个, ReadWriteLock 这里可以看作两个变量啊 | 
|  |      5DonaldY      2022-06-14 15:15:37 +08:00 高低端位,分别表示,还行吧 | 
|  |      6LeegoYih      2022-06-14 15:20:46 +08:00 省 | 
|  |      7MoonWalker      2022-06-15 08:55:32 +08:00 4 楼说的对。 |