该帖已经被评为精华帖
|
|
---|---|
作者 | 正文 |
发表时间:2009-03-10
非常精彩的文章,总于明白DCL的真正含义了
|
|
返回顶楼 | |
发表时间:2009-09-28
引用 这里,instance变量和instance.someField是两个不同的变量,这才有可能虽然instance的值与主内存是同步的,但someField的值却不与主内存同步。 private volatile static LazySingleton instance; 请教下,这里加了volatile有用吗,它只能保证这个引用的可见性,但是instance.someField值不一定会吧? 所以这里加volatile, 只能保证当线程A执行到new LazySingleton()的时候,另一个线程B在判断instance == null时并不会出现null的这种可能。望lz解释下,thx。 |
|
返回顶楼 | |