07单例VS多线程
Posted corx
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了07单例VS多线程相关的知识,希望对你有一定的参考价值。
还是套路问题,一种思想而已,两种方式
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; } }
以上是关于07单例VS多线程的主要内容,如果未能解决你的问题,请参考以下文章