//但是都比较低效(对锁的判断所致),可以用双重判断*来提高效率.同步锁的对象是"类名.class"(此方法为静态方法),如下 class Single { privatestatic Singele s =null; privateSingle(){} publicstatic Single getInstance() { if(s==null)//双重判断,问题:此处也是每次都需判断,与锁的判断相比效率更高吗? { synchronized(Single.class)//同步锁的对象是"类名.class" { if(s==null) s=new Single(); } } returns; } } //毕老师的视屏中讲的,线程同步后为了减少锁的判断,加了if条件双重判断减少了锁的判断,但是却增加了if判断,效率上是否有提高?
|