HarmonyOS TaskPool子线程单例问题

在主线程中已经创建的单例,但是在TaskPool的子线程中访问这个单例 还会重新创建, 用什么方法可以解决?

export class MPArticleDao1 {
  private static instance: MPArticleDao1;

  public static getInstance(): MPArticleDao1 {
    if (!MPArticleDao1.instance) {
      MPArticleDao1.instance = new MPArticleDao1();
    }
    return MPArticleDao1.instance;
  }
}
HarmonyOS
2024-12-25 11:28:39
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
put_get

taskpool和worker均不支持内存共享,对于单例场景,在tasktool中调用getInstance会重新走构造方法,创建不同的对象。在使用TaskPool进行子线程操作的时候,避免调用单例方法,否则在单例初始化方法中,主线程和子线程会创建不同的实例,导致对象不同,从而导致问题。

参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/taskpool-vs-worker-V5

分享
微博
QQ
微信
回复
2024-12-25 14:12:17
相关问题
HarmonyOS 问题
268浏览 • 1回复 待解决
HarmonyOS 关于问题
321浏览 • 1回复 待解决
HarmonyOS 怎么实现线程安全的
381浏览 • 1回复 待解决
TaskPool线程和主线程如何通信
2536浏览 • 1回复 待解决
HarmonyOS taskpool线程池数量问题
183浏览 • 0回复 待解决
HarmonyOS taskpool线程并发问题
159浏览 • 1回复 待解决
HarmonyOS 模式不生效
81浏览 • 1回复 待解决
HarmonyOS 对象如何实现
700浏览 • 1回复 待解决
HarmonyOS 类被反复初始化的问题
217浏览 • 1回复 待解决
创建的换了页面后不生效问题
2392浏览 • 3回复 待解决
如何获取为undefined
725浏览 • 1回复 待解决
HarmonyOS静态库是否是
289浏览 • 1回复 待解决
HarmonyOS navigation有模式吗
78浏览 • 1回复 待解决
HarmonyOS taskpool.Task 线程安全问题
266浏览 • 1回复 待解决
HarmonyOS ArkTs-taskpool切换主线程问题
77浏览 • 1回复 待解决
HarmonyOS taskPool线程池task入参问题
337浏览 • 1回复 待解决
HarmonyOS 关于native线程问题
23浏览 • 1回复 待解决