单例的线程安全疑问?
请教一下:
下面的单例会有线程安全问题吗?
即如果这句话private static Singleton instance=new Singleton();不加同步,会有线程安全问题吗?
public class Singleton {
private Singleton(){}
private static Singleton instance=new Singleton();
public static Singleton getInstance(){
return instance;
}
public void test(){
System.out.println("this is a testing...");
}
}
public class Main {
public static void main(String[] args) {
System.out.println("test...");
for(int i=0;i<10;i++){
new Thread(new Runnable(){
@Override
public void run()
//这里有没有可能会出现并发导致上面的单例会出现多次的new Singleton()?
Singleton singleton=Singleton.getInstance();
singleton.test();
}}).start();
}
}
}
谢谢