java单例模式(线程安全)
来源:互联网 发布:无法启动承载网络 编辑:程序博客网 时间:2024/06/05 02:34
package cn.yang.test.controller;/**单例模式 * Created by Dev_yang on 2016/2/26. */public class Singleton { //多线程环境需要加上volatile,保证内存可见性 private volatile static Singleton singleton; private Singleton(){}/*在方法上面加 synchronized会导致程序运行效率很低, public static synchronized Singleton getInstance(){ if(singleton==null){ singleton = new Singleton(); } return singleton; }*///更好的解决方案 public static Singleton getInstance(){ if(singleton==null){ //只有singleton==null才需要考虑多线程问题,所以只在这个地方加同步就可以了 synchronized(Singleton.class){ if(singleton==null){ singleton = new Singleton(); } } } return singleton; }}
上面是懒汉式的例子,也可以改成下面这种饿汉式
public class Singleton { private static Singleton singleton=new Singleton(); private Singleton(){} public static Singleton getInstance(){ return singleton; }}
1 0
- java单例模式(线程安全)
- java线程安全的单例模式
- java线程安全的单例模式
- java 线程安全的单例模式
- java线程安全的单例模式
- java单例模式线程安全
- java线程安全的单例模式
- java 单例模式,线程安全
- java单例模式与线程安全
- java单例模式线程安全
- java单例模式线程安全
- java单例模式的线程安全
- java中线程安全单例模式
- java线程安全的单例模式(转载)
- JAVA单例(懒汉模式)线程安全
- 单例模式(多例,线程安全)
- 单例模式(线程安全考虑)
- java单例模式和线程安全的单列模式
- Activity
- 专题之Session分析及使用
- 如何查询Oracle中所有用户信息
- Java并发-类库新组件 - DelayQueue 理解
- Linux之V4L2基础编程
- java单例模式(线程安全)
- iOS ipa上传到App Store
- epoll使用详解(精髓)
- AsyncTask和Handler的优缺点比较
- jquery向后台请求的几种方式
- muShtaPmumixaMeerTyraniB.124
- 文件上传时jquery.form.js中提示form.submit 拒绝访问
- 低功耗蓝牙ibeacon的初级应用
- 如何避免野指针