码迷,mamicode.com
首页 > 编程语言 > 详细

【07】单例VS多线程

时间:2018-12-01 16:56:33      阅读:230      评论:0      收藏:0      [点我收藏+]

标签:多线程   静态   sig   ret   instance   tac   ==   class   interrupt   

 还是套路问题,一种思想而已,两种方式

  1 dubble check instance

  2 static inner class

  两次检测加类锁

  静态内部类,其实就是饿汉模式,直接给你就好了

 

技术分享图片
package Concurrency;

class dubbleCheck{
    private static dubbleCheck ds ;
    public dubbleCheck getInstance(){
        if(ds == null){
            try{
                Thread.sleep(50);

                synchronized (dubbleCheck.class){
                    if(ds==null){
                        ds = new dubbleCheck();
                    }
                }

            }catch (InterruptedException e){
                e.printStackTrace();
            }
        }
        return ds;
    }
    protected dubbleCheck(){
    }
}
class InnerSigleton {
    private static class Sigleton{
        private static InnerSigleton is = new InnerSigleton();
    }
    public static InnerSigleton getInstance(){
        return  Sigleton.is;
    }
}
View Code

 

【07】单例VS多线程

标签:多线程   静态   sig   ret   instance   tac   ==   class   interrupt   

原文地址:https://www.cnblogs.com/corx/p/10049864.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!