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 问题
1450浏览 • 1回复 待解决
HarmonyOS 关于问题
1590浏览 • 1回复 待解决
HarmonyOS 怎么实现线程安全的
1354浏览 • 1回复 待解决
TaskPool线程和主线程如何通信
3589浏览 • 1回复 待解决
HarmonyOS taskpool线程池数量问题
1516浏览 • 1回复 待解决
HarmonyOS taskpool线程并发问题
1061浏览 • 1回复 待解决
HarmonyOS 对象如何实现
1528浏览 • 1回复 待解决
HarmonyOS 模式不生效
1312浏览 • 1回复 待解决
HarmonyOS 类被反复初始化的问题
1144浏览 • 1回复 待解决
HarmonyOS taskpool.Task 线程安全问题
1206浏览 • 1回复 待解决
创建的换了页面后不生效问题
3128浏览 • 3回复 待解决
HarmonyOS 关于native线程问题
766浏览 • 1回复 待解决
如何获取为undefined
1565浏览 • 1回复 待解决
HarmonyOS静态库是否是
878浏览 • 1回复 待解决
HarmonyOS navigation有模式吗
1346浏览 • 1回复 待解决
HarmonyOS ArkTs-taskpool切换主线程问题
1328浏览 • 1回复 待解决
HarmonyOS taskPool线程池task入参问题
1288浏览 • 1回复 待解决