Java中的双重检查锁模式,单纯的懒汉模式,容易出现线程安全问题,加锁的懒汉又发现每次synchronized 很费资源,于是用双检锁在synchronized前加上if()判断对象是否为空,但是又有部分编译器可能为了性能会在实例化对象的时候重排序,所以需要加volatile修饰。
Java中的双重检查锁(double checked locking)
最新推荐文章于 2024-08-01 15:05:06 发布
Java中的双重检查锁模式,单纯的懒汉模式,容易出现线程安全问题,加锁的懒汉又发现每次synchronized 很费资源,于是用双检锁在synchronized前加上if()判断对象是否为空,但是又有部分编译器可能为了性能会在实例化对象的时候重排序,所以需要加volatile修饰。