并发编程:单例与多线程
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了并发编程:单例与多线程相关的知识,希望对你有一定的参考价值。
单例模式,最常见的就是饥饿模式和懒汉模式,一个直接实例化对象,一个在调用方法时进行实例化对象。在多线程模式中,考虑到性能和线程安全问题,我们一般选择下面两种比较经典的单例模式,在性能提高的同时,又保证了线程安全。
dubble check instance
static inner class
静态内部类static inner class
public class InnerSingleton { private static class Singletion { private static Singletion single = new Singletion(); } public static Singletion getInstance() { return Singletion.single; } }
双重判断:dubble check instance
public class DubbleSingleton { private static DubbleSingleton ds; public static DubbleSingleton getDs() { if (null == ds) { try { Thread.sleep(3000); // 模拟初始化对象的准备时间 } catch (Exception e) { e.printStackTrace(); } synchronized (DubbleSingleton.class) { if (null == ds) { ds = new DubbleSingleton(); } } } return ds; } }
本文出自 “我爱大金子” 博客,请务必保留此出处http://1754966750.blog.51cto.com/7455444/1909800
以上是关于并发编程:单例与多线程的主要内容,如果未能解决你的问题,请参考以下文章