本帖最后由 闫月乐 于 2013-6-4 16:35 编辑
- if(s==null)
- {
- //首先,哥们,你的同步关键字写错了,多了一个s
- synchronized(Single.class)
- {
- /*
- 额,我感觉没多一行代码,就要多一次执行(当然是同种功能的)
- 如果加上if(s==null),他会在s!=null的时候,之间跳过该判定语句
- 执行后续语句.而没有的话,会先进同步代码块,再去判断,我的感觉
- 好像有点效率低了
- 恩,之后,就是一般我们要写高效懒汉式的话,会在同步代码块中加入
- try语句,模拟临时故障,否则面试官问你你有没经过测试,咋知道你写
- 的程序安全了!所以,加上吧!为了面试!
- 加上之后,就更明白了吧!加上if(s==null)后,就不用去执行try了,try
- 里面是让线程进入休眠!更浪费时间!
- */
- try
- {
- Thread.sleep(100);
- }
- catch (Exception e)
- {
- }
- if(s==null)
- s=new single();
- }
- }
复制代码 |