摘要:贴代码啦 按照代码的注释操作,控制台的输出如下,观察WaitThread的变化。 testWait(): testTimedWait(): 阅读全文
posted @ 2018-04-05 18:09 kingsleylam 阅读(103) 评论(0) 推荐(0) 编辑
摘要:1. 双重校验锁实现单例的问题 在延迟实现单例时,一般代码形式如下: 看起来很简单,但这里有个容易忽略的点,就是instance变量,需要用volatile修饰。 为什么?如果不加的话会有什么问题呢? 让我们把目光聚焦到第11行,初始化instance变量。这一行代码可以分解为如下3行伪代码。 上面 阅读全文
posted @ 2018-04-05 17:35 kingsleylam 阅读(421) 评论(0) 推荐(0) 编辑