多线程下的单例
Posted deicideRaven
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多线程下的单例相关的知识,希望对你有一定的参考价值。
1多线程安全单例模式一(不使用同步锁).
1 1 public class Singleton {
2 2 private Singleton()
3 3 {}
4 4 private static Singleton singleton;
5 5
6 6 public static Singleton getInstance()
7 7 {
8 8 if(singleton ==null)
9 9 {
10 10 singleton =new Singleton();
11 11 }
12 12 return singleton;
13 13 }
14 14
15 15
16 16 }View Code
2.多线程安全单例模式一(使用同步锁).
public class Singleton {
private Singleton()
{}
private static Singleton singleton;
//sychronized 同步
public static synchronized Singleton getInstance()
{
if(singleton ==null)
{
singleton =new Singleton();
}
return singleton;
}
}
3.多线程安全单例模式一(使用双重同步锁).
public class Singleton {
private static Singleton instance;
private Singleton (){
}
public static Singleton getInstance(){ //对获取实例的方法进行同步
if (instance == null){
synchronized(Singleton.class){
if (instance == null)
instance = new Singleton();
}
}
return instance;
}
}
以上是关于多线程下的单例的主要内容,如果未能解决你的问题,请参考以下文章