首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

关于单例模式的两种模式懒汉式和饿汉式的线程安全有关问题

2012-12-19 
关于单例模式的两种模式懒汉式和饿汉式的线程安全问题//两种单例模式 关于线程安全的问题 //饿汉式是线程

关于单例模式的两种模式懒汉式和饿汉式的线程安全问题
//两种单例模式 关于线程安全的问题




//饿汉式   是线程安全的*/
class  Single
{
private static  final Single s = new Single();
private Single(){

}
public static Single getInstance(){
  return s;
}
}

//懒汉式   有线程安全问题
//懒汉式可以实现延迟加载
//但是在多线程并发访问的情况下会出现安全问题
//可以通过加同步来解决,只是加上同步效率会稍低,这时候可以再使用双重判断来解决这个低效的问题
//加同步的时候使用的锁是 该类所属的字节码文件对象


class Single
{
private static Single s = null;
private Single(){

}
public static Single getInstance(){
  if(s == null){
   synchronized(Single.class){
    if(s == null){
     s = new Single();
    }
   }
  }
  return s;
}
}

热点排行