背景 double checked licking 在我们构造一个单例的时候会用到。 用法 对于一个单例,我们需要在不同线程中共享这个变量,所以 相关阅读 Double-Checked Locking is Broken Partially constructed object 对象部分初始化:原理以及验证代码(双重检查锁与volatile相关)