创建线程安全的单例
来源:互联网 发布:阿里云免费域名申请 编辑:程序博客网 时间:2024/05/08 06:24
1用枚举实现的单例:
public enum EasySingleton{
INSTANCE;
}
2:用双检索实现单例:
public class DoubleCheckedLockingSingleton{
private volatile DoubleCheckedLockingSingleton INSTANCE;
private DoubleCheckedLockingSingleton(){}
public DoubleCheckedLockingSingleton getInstance(){
if(INSTANCE == null){
synchronized(DoubleCheckedLockingSingleton.class){
//double checking Singleton instance
if(INSTANCE == null){
INSTANCE = new DoubleCheckedLockingSingleton();
}
}
}
return INSTANCE;
}
}
3用静态工厂方法实现单例:
*/public class Singleton{
//initailzed during class loading
private static final Singleton INSTANCE = new Singleton();
//to prevent creating another instance of Singleton
private Singleton(){}
public static Singleton getSingleton(){
return INSTANCE;
}
}
你可以调用Singleton.getInstance()方法来获得实例对象。
- 创建线程安全的单例
- iOS 使用 dispatch_once 创建线程安全的单例
- 如何创建线程安全的单例模式?线程安全的Singleton!
- 单例-线程安全
- 利用dispatch_once保证线程安全来创建单例
- 线程安全的单例模式
- 线程安全的单例模式
- python 线程安全的单例 singleton
- 线程安全的单例模式
- 线程安全的单例模式
- Volatile 线程安全的单例模式
- 线程安全的单例模式
- 基于线程安全的单例模式
- 线程安全的单例模式
- 单例模式的线程安全
- 线程安全的单例模式
- 线程安全的单例模式
- 线程安全的单例模式
- hdu 4966 GGS-DDU 最小树形图/有向图的最小生成树
- 斯坦福大学学生整理的游戏开发资源大全
- ShareSDK授权页面的自定义
- Greenlet ImportError: DLL load failed 解决方法
- hdoj.1339 A Simple Task 20140821
- 创建线程安全的单例
- leetcode Unique Binary Search Trees
- Android_adapter的实现
- RPM包文件校验和文件提取
- SGU 101 Domino (欧拉路径 并查集)
- File类的应用
- JSP获取spring的bean
- 【TOJ 1981】Tire Dimensions
- LeetCode—寻找两个有序数组中值