在被多线程并发访问时,会出现多线程安全问题。
为了解决,加入了同步,虽然安全问题解决了,
但是性能降低了。
有没有办法将安全问题解决的同时,还可以提高性能。
有的,改成同步代码块。
可以通过双重判断的形式来完成这个过程。
class Single
{
private static Single s = null;
private Single(){}
public static Single getInstance()
{
if(s==null)
{
synchronized(Single.class)
{
if(s==null)
s = new Single();
}
}
return s;
}
}
class SingleDemo
{
public static void main(String[] args)
{
System.out.println("Hello World!");
}
}
希望对楼主有帮助, |