博学谷数据分析就业2023\/--》ccys1473
以下内容忽略
5、static volatile + private + getInstance + instance + synchronized(对象锁) 双重检查 (安全)
package Sigleton;
public class T05 {
private static T05 t05;
public static T05 getInstance(){
if(t05 == null){
synchronized (T05.class){
try {
Thread.sleep(2);
}catch (Exception e){
}
if(t05 == null){
t05 = new T05();
}
}
}
return t05;
}
public static void main(String[] args){
for(int i=0;i<20;i++){
new Thread(new Runnable() {
@Override
public void run() {
System.out.println(T05.getInstance().hashCode());
}
}).start();
}
}
}