HarmonyOS 如何给方法加同步锁?

准备写一个单例模式,目前希望写一个线程安全的单例模式:

static instance: LogManager

private constructor() {
}

/**
 * 单例模式
 * @returns
 */
public static getInstance(): LogManager {
  if (!LogManager.instance) {
    LogManager.instance = new LogManager()
  }
  return LogManager.instance
}

如何加同步锁呢?

阅读 381
1 个回答

可以使用饿汉式单例模式,如下:

export class LogManager {
  private static instance: LogManager = new LogManager();

  private LogManager() {
    // 私有构造函数
  }

  public static getInstance(): LogManager {
    return LogManager.instance;
  }
}

饿汉单例模式在类加载时已经初始化完毕,在多线程环境下也是安全的。

logo
HarmonyOS
子站问答
访问
宣传栏