kotlin 单例模式

作者: jimdear | 来源:发表于2022-06-14 10:40 被阅读0次

    最近在学习kotlin,下面总结一下 单例模式的写法:
    1.饿汉模式,顾名思义,饿汉模式,只要有资源就去new 一个对象,在java中,对应的就是 new ClassName 这种。而kotlin 的写法则如下:

    //饿汉
    object SingleClass2;
    

    2.懒汉模式写法:

    //懒汉
    class SingleClass private constructor() {
        companion object {
            private var instance: SingleClass? = null;
            //       Synchronized添加后就是线程安全的的懒汉模式
            @Synchronized
            fun get(): SingleClass? {
                if (instance == null) {
                    instance = SingleClass();
                }
                return instance;
            }
        }
    }
    

    3.DCL模式的懒汉模式写法:

    //简易版本的DCL kotlin 写法
    class SingleClass2 private constructor() {
        companion object {
            val instance: SingleClass2 by lazy(mode = LazyThreadSafetyMode.SYNCHRONIZED) {
                SingleClass2();
            }
        }
    }
    

    相关文章

      网友评论

        本文标题:kotlin 单例模式

        本文链接:https://www.haomeiwen.com/subject/wafzmrtx.html