线程安全的单例懒汉模式(互斥锁)
2017-01-06 13:40
141 查看
线程安全的单例懒汉模式(互斥锁)
//关于懒汉式的线程安全问题,使用同步机制: //对于一般的方法内,使用同步代码块,可以考虑使用this. //对于静态方法而言...使用当前类本身充当锁. class Singleton{ 1.私有化构造器 private Singleton(){ } 2.私有化静态实例 private static Singleton instance = null; 3.对外提供一个公共的静态方法得到实例 public static Singleton getInstance(){ //这里为了提高效率,所以加了一个if判断,若第一次线程进入后已经创建好实例,那么则直接跳过同步块,直接返回实例对象即可,从而不用每次都去访问. if(instance == null ){ //线程安全的,这里的锁调用自己的类,但是效率稍微低一些 synchronsized(Signleton.class){ if(instance == null){ instance = new Singleton(); } } return instance; } } } public class TestSingleton{ public static void main(String[] args){ Singleton s1 = Singleton.getInstance(); Singleton s2 = Singleton.getInstance(); System.out.println(s1 == s2); } }
相关文章推荐
- 单例模式之懒汉模式且线程安全
- Java练习题-编写一个线程安全的延迟加载单例模式(懒汉模式)
- 关于java (懒汉)单例模式是否存在线程安全的问题
- java 单例模式 恶汉 懒汉 静态内部类 线程安全
- 设计模式 Singleton 单例 懒汉,线程安全
- 线程安全的懒汉模式单例模实现
- C++中的单例模式(懒汉模式、饿汉模式及线程安全问题)
- 关于多线程在简单的懒汉模式下线程安全问题的解决
- 利用classloader机制创建线程安全的懒汉单例模式
- [置顶] Java 多线程学习笔记(十一) 单例设计模式(延迟加载/懒汉模式)DCL解决线程安全问题
- C++单例模式(懒汉和饿汉)与线程安全
- 单例模式之懒汉模式的线程安全解决方法
- 设计模式之懒汉单例非线程安全
- JAVA单例(懒汉模式)线程安全
- 解决单例设计模式中的懒汉设计模式存在线程安全问题(并且在一定程度上提高效率)的一种解决方法
- Java练习题-编写一个线程安全的延迟加载单例模式(懒汉模式)
- 线程安全的"懒汉"单例模式
- 【Java单例模式】Java单例模式之懒汉模式线程安全
- 一种线程安全的单例模式实现
- 线程安全的单例模式