ArkTS的SendableClass对象内存共享的原理和限制是什么
ArkTS的SendableClass对象内存共享的原理和限制是什么
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
ArkTS的SendableClass对象内存共享的原理和限制是什么?
710浏览 • 2回复 待解决
通过PixelMap_CreatePixelMap创建的对象,内存在ArkTS侧和Native侧是否共享
2113浏览 • 1回复 待解决
PolarDB 的备份恢复原理是什么?
2751浏览 • 1回复 待解决
OceanBase 复制表的原理是什么?
4123浏览 • 1回复 待解决
LazyForEach懒加载的原理是什么
2083浏览 • 1回复 待解决
性能优化中的组件复用原理是什么
1908浏览 • 1回复 待解决
MongoDB 库名和命名空间的限制是什么?
3532浏览 • 1回复 待解决
OceanBase 多租户原理是什么?
4253浏览 • 1回复 待解决
#鸿蒙学习大百科#HiTraceMeter的工作原理是什么?
139浏览 • 1回复 待解决
#鸿蒙学习大百科#组件复用的原理是什么?
250浏览 • 1回复 待解决
HarmonyOS 内存模型是什么样的?
195浏览 • 1回复 待解决
ArkTS是否支持类似Java的共享内存模型进行多线程开发
1948浏览 • 1回复 待解决
ArkTS是否支持类似Java的共享内存模型用于多线程开发?
708浏览 • 2回复 待解决
ArkTS的对象数据与Native的对象数据如何绑定,相互持有对象数据时内存如何管理
1875浏览 • 1回复 待解决
HarmonyOS worker线程和主线程支持内存共享
408浏览 • 1回复 待解决
AppStorage是否支持线程间共享对象,如果不支持,推荐替代方案是什么
1750浏览 • 1回复 待解决
Worker线程内存如何共享
2197浏览 • 1回复 待解决
Actor线程内存如何共享
333浏览 • 1回复 待解决
#鸿蒙学习大百科#taskpool的负载均衡机制的原理是什么?
209浏览 • 1回复 待解决
postgresql copy的执行原理是什么?greenplum上执行copy的过程是怎样的?
3181浏览 • 1回复 待解决
TaskPool线程内存如何共享
2000浏览 • 1回复 待解决
#鸿蒙学习大百科#实现分帧渲染的原理是什么?
138浏览 • 1回复 待解决
共享包HSP内容访问,它的使用场景是什么?
755浏览 • 1回复 待解决
请问一下,ArkTs的页面布局style的底层实现是什么样的?有没有相关帖子介绍原理?
2442浏览 • 1回复 待解决
#鸿蒙学习大百科#系统提供的组件复用的工作原理是什么?
166浏览 • 1回复 待解决
SendableClass是基于Actor内存隔离并发模型的扩展,Sendable对象的内存是线程间共享的,但是仍然需要满足单线程无锁化运行。因此,要保证同一个Sendable实例不能多线程并发访问,开发者需要通过同步机制保证线程安全。
Sendable对象需要满足一定的规格:
1. 成员属性为 Sendable类或者基础类型(string number boolean等)。
2. 成员属性必须显式初始化。
3. 成员函数不能使用闭包,只能使用入参或者this成员或者import导入的变量。
4. 只允许Sendable类继承Sendable类。
5. @Sendable只能写在ArkTS(ets)文件中。
6. 不支持定义私有属性,要用private。
7. 导出Sendable类的文件,不能导出非Sendable属性。
8. 传输方式有如下两种:
a. 序列化传递:深拷贝到其他线程,非共享模式。
b. 共享模式:可以跨线程引用传递,多线程可同时读写,开发者需要自行采用同步机制避免多线程竞争。
参考链接
多线程并发概述