【設計模式】單例模式(懶漢式)==>導致執行緒不安全驗證
阿新 • • 發佈:2021-05-05
public class MyBenchmark {
public static void main(String[] args) {
new Thread(()-> {
Singleton instance1 = Singleton.getInstance();
},"t1").start();
new Thread(()-> {
Singleton instance2 = Singleton.getInstance();
},"t2").start();
}
}
@Slf4j(topic = "c.Singleton" )
class Singleton {
private static Singleton instance;
private Singleton() {}
public static Singleton getInstance() {
if(instance == null) {
instance = new Singleton();
log.debug("已建立"); //若是單執行緒,則永遠只會輸出1次。多執行緒,則可能會輸出多次
}
return instance;
}
}