搬之前寫的博客【2014-12-30 16:04】java
在web應用中服務器面臨的是大量的訪問請求,免不了多線程程序,可是有時候,咱們但願在多線程應用中的某一個類只能新建一個對象的時候,就會遇到問題。web
class singleton{ private singleton(){ //..... } private static singleton instance; public static singleton getinstance(){ if(instance==null) //1 instance = new singleton(); //2 return instance } }
class singleton{ private singleton(){ //..... } private static singleton instance; public static singleton synchronized getinstance(){ if(instance==null) //1 instance = new singleton(); //2 return instance } }
class singleton{ private singleton(){ //..... } private static singleton instance; public static singleton getinstance(){ if(instance==null) { //1 sycronized(singleton.class){ if(instance==null) instance = new singleton(); //2 } } return instance; } }
class singleton{ private singleton(){ //..... } private static singleton instance = new singleton(); public static singleton getinstance(){ return instance; } }