HarmonyOS 多线程处理业务逻辑时,如何实现序列化
目前除了Worker和taskPool可以处理多线程,还有没有其他的api可以处理,现在有一个问题是一个对象使用了@Observer修饰,此时如果要操作这个对象添加线程处理,添加@Sendable会异常,而且操作一些其他对象也没法忽略,没有添加则会直接异常退出程序。
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
HarmonyOS-Sequenceable(序列化)中,URI类型如何实现读取序列化对象
11768浏览 • 3回复 已解决
HarmonyOS ArkTS中序列化反序列化是什么API呢?
234浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙系统中实现MessagePack对象序列化与反序列化?
250浏览 • 1回复 待解决
自定义类如何实现序列化
2160浏览 • 1回复 待解决
HarmonyOS Map 序列化问题
84浏览 • 1回复 待解决
HarmonyOS http请求,json序列化
155浏览 • 1回复 待解决
求大佬告知如何序列化对象
885浏览 • 1回复 待解决
HarmonyOS JSON中的map结构如何序列化
661浏览 • 1回复 待解决
HarmonyOS 在进行json序列化/反序列化时,是否支持为字段设置别名?
422浏览 • 1回复 待解决
在使用序列化方式实现线程间JS对象的数据通信时,是否会导致性能问题。
498浏览 • 1回复 待解决
JSON反序列化,如何重命名字段?
323浏览 • 1回复 待解决
HarmonyOS 有没有类似protobuf的序列化库
96浏览 • 1回复 待解决
有谁知道 task 参数无法序列化
1830浏览 • 1回复 待解决
HarmonyOS 是否有除了json以外的序列化功能
88浏览 • 1回复 待解决
HarmonyOS业务场景相关多线程的应用问题
589浏览 • 1回复 待解决
HarmonyOS map反序列化后,调用map.has报错
677浏览 • 1回复 待解决
#鸿蒙学习大百科#Actor模型的线程间序列化传输对象有几种?
335浏览 • 1回复 待解决
使用taskpool实现多线程时,如何实现内存共享
2331浏览 • 1回复 待解决
HarmonyOS 序列化数据大小超过限制,有什么解决办法?
271浏览 • 1回复 待解决
线程间JS对象通过序列化方式进行数据通信,是否存在性能问题
1995浏览 • 1回复 待解决
通过 external 或者 wrap 关联了 native 对象的 object,序列化之后传输到其他线程使用
1699浏览 • 1回复 待解决
HarmonyOS Record和枚举enum是否都支持@Concurrent规定的可序列化
59浏览 • 1回复 待解决
HarmonyOS prop传参是不是序列化传参,C++层可以拿到js引用,为什么还要转成字符串,支持多线程内存共享吗
401浏览 • 1回复 待解决
跨设备迁移FA并传递序列化实体类无反应
5045浏览 • 3回复 待解决
1、当前ArkTS只提供了TaskPool和Worker两种并发能力。
2、 应该指的是@Observed装饰器吧,@Observed以及@ObservedV2修饰的对象添加@Sendable会异常的原因是:一个对象,不能既是多线程共享对象,也是可观察对象。这就造成用户在线程中获取的数据,希望在界面上进行更新时,需要对线程数据进行深度拷贝到@Observed及@ObservedV2装饰的对象中去,导致大量的性能开销。
@Sendable与@Observed以及@ObservedV2不能同时装饰的根本原因在于:
a. @ObservedV2对象是通过setter,getter完成对属性的引用和变更监听,在运行时将属性转变为setter,getter了。真实属性值存储到了本对象的"_ob"+attrName的属性中了。而@Sendable对象是不可以对属性进行重新定义的;
b. 状态管理的驱动代码运行在主线程中。其他辅助线程中并不会加载状态管理的代码,因此其他线程修改数据,并不能得到改变通知。