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 问题
1469浏览 • 1回复 待解决
HarmonyOS 关于问题
1645浏览 • 1回复 待解决
HarmonyOS 怎么实现线程安全的
1374浏览 • 1回复 待解决
TaskPool线程和主线程如何通信
3628浏览 • 1回复 待解决
HarmonyOS taskpool线程池数量问题
1558浏览 • 1回复 待解决
HarmonyOS taskpool线程并发问题
1072浏览 • 1回复 待解决
HarmonyOS 类被反复初始化的问题
1166浏览 • 1回复 待解决
创建的换了页面后不生效问题
3140浏览 • 3回复 待解决
HarmonyOS 对象如何实现
1559浏览 • 1回复 待解决
HarmonyOS 模式不生效
1345浏览 • 1回复 待解决
HarmonyOS静态库是否是
888浏览 • 1回复 待解决
HarmonyOS navigation有模式吗
1367浏览 • 1回复 待解决
HarmonyOS ArkTs-taskpool切换主线程问题
1380浏览 • 1回复 待解决
HarmonyOS taskPool线程池task入参问题
1303浏览 • 1回复 待解决
如何获取为undefined
1582浏览 • 1回复 待解决
HarmonyOS 如何创建的WebView组件
1019浏览 • 1回复 待解决