package com.wwd.other;public class A { private static A a = null;
private A(){
}
public static A getInstance(){
synchronized(A.class){//同步1
if(a == null){
a = new A();
}
return a;
}
}
public synchronized A getA1(){//同步2
return a;
}
public A getA2(){
A a2 = null;
synchronized(this){//同步3
a2 = new A();
}
return a2;
}
}
请问大家,以上类中三个同步处有什么异同?有什么优缺点?分别在什么时候使用啊(可以举例说明)?先谢过了!!!
小弟没多少积分,就不给了,望参加的各位见谅!!^_^
private A(){
}
public static A getInstance(){
synchronized(A.class){//同步1
if(a == null){
a = new A();
}
return a;
}
}
public synchronized A getA1(){//同步2
return a;
}
public A getA2(){
A a2 = null;
synchronized(this){//同步3
a2 = new A();
}
return a2;
}
}
请问大家,以上类中三个同步处有什么异同?有什么优缺点?分别在什么时候使用啊(可以举例说明)?先谢过了!!!
小弟没多少积分,就不给了,望参加的各位见谅!!^_^
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货