/**
* 单例模式,多个线程获取到的是同一个对象
* @author pipi
*
*/
public class SingletonTest {
public static void main(String[] args) {
for(int i = 0;i < 2;i++){
new Thread(new Runnable() {
@Override
public void run() {
System.out.println(A.getInstance());
System.out.println(B.getInstance());
}
}).start();
}
}
}
/**
* 饱汉模式
* @author pipi
*
*/
class A{
private static A a = new A();
private A(){}
public static A getInstance(){
return a;
}
}
/**
* 饥汉模式
* @author pipi
*
*/
class B{
private static B b = null;
private B(){}
public synchronized static B getInstance(){
if(b == null)
b = new B();
return b;
}
}
设计模式之单例模式
最新推荐文章于 2024-06-28 13:33:28 发布