小编Mag*_*nus的帖子

Kotlin线程安全本机懒惰单身与参数

在java中,我们可以使用双重Checked Locking&volatile编写thead-safe单例:

    public class Singleton {
        private static volatile Singleton instance;

        public static Singleton getInstance(String arg) {
        Singleton localInstance = instance;
        if (localInstance == null) {
            synchronized (Singleton.class) {
                localInstance = instance;
                if (localInstance == null) {
                    instance = localInstance = new Singleton(arg);
                }
            }
        }
        return localInstance;
    }
}
Run Code Online (Sandbox Code Playgroud)

我们怎么能用kotlin写呢?


关于对象

object A {
    object B {}
    object C {}
    init {
        C.hashCode()
    }
}
Run Code Online (Sandbox Code Playgroud)

我使用kotlin反编译器来实现

public final class A {
   public static final A INSTANCE;

   private A() { …
Run Code Online (Sandbox Code Playgroud)

singleton multithreading kotlin

19
推荐指数
3
解决办法
1万
查看次数

标签 统计

kotlin ×1

multithreading ×1

singleton ×1