JAVA基础

DCL双重检查锁定与延迟初始化

2018-04-12  本文已影响7人  gghao1

infoq的这篇文章讲的不错 双重检查锁定与延迟初始化

这篇讲volatile关键字也不错 volatile关键字


1.基于volatile的双重检查锁定 --实例、静态字段

2.内部类,基于类初始化  --- 静态字段

JSR-133只保证单线程和正确同步(这里的同步指的是广义上的同步,包括对lock,volatile,final的正确使用)的多线程程序的内存可见性

在JSR-133中,未同步或未正确同步的多线程程序可能会发生内存可见性问题。

在JSR-133中,volatile并未完全禁止编译器和处理器的重排序,它只是禁止了那些“可能有害”的重排序

本文部分摘取自网络,如有侵权,请联系我删除。

上一篇 下一篇

猜你喜欢

热点阅读