Sendable 序列化,对象分配在各自的虚拟机内存空间,存不存在竞争访问
@Sendable
export class Demo {
count:number = 0;
static demo:Demo = null;
static asyncLock: AsyncLock = new AsyncLock();
static async getInstace() {
return await Demo.asyncLock.lockAsync(()=>{
if (demo == null) {
demo = new Demo()
}
return demo;
})
}
async setCount(count: number) {
// 这里不用asyncLock.async的话,是不是就不会出现线程竞争?
// 我们的一个场景:网络库的全局拦截器中,不会访问类成员变量,也不希望产生线程竞争
await Demo.asyncLock.async(()=> {
this.count = count;
})
}
}
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
Sequenceable 接口如何实现复杂对象的序列化与反序列化
532浏览 • 0回复 待解决
HarmonyOS-Sequenceable(序列化)中,URI类型如何实现读取序列化对象
13344浏览 • 3回复 已解决
HarmonyOS 如何实现自定对象的序列化合反序列化
1060浏览 • 1回复 待解决
HarmonyOS 获取手机剩余内存空间
1282浏览 • 1回复 待解决
求大佬告知如何序列化对象
2173浏览 • 1回复 待解决
HarmonyOS ArkTS中序列化反序列化是什么API呢?
1349浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙系统中实现MessagePack对象序列化与反序列化?
1588浏览 • 1回复 待解决
HarmonyOS 使用class-transformer和@Expose注解在嵌套对象场景下,如何实现序列化与反序列化。
1356浏览 • 1回复 待解决
HarmonyOS ArkTS中,无法对C对象进行深拷贝,或者序列化,需要把数据转换成@Sendable支持对象
946浏览 • 1回复 待解决
真机运行,UDID不存在
7387浏览 • 1回复 待解决
HarmonyOS 序列化和反序列化有什么最佳实践吗?
1249浏览 • 1回复 待解决
HarmonyOS fs.accessSync访问文件如果返回false,代表是文件不存在吗
943浏览 • 1回复 待解决
HarmonyOS Map 序列化问题
1235浏览 • 1回复 待解决
HarmonyOS 安装时报错依赖的模块不存在
2514浏览 • 1回复 待解决
线程间JS对象通过序列化方式进行数据通信,是否存在性能问题
3068浏览 • 1回复 待解决
HarmonyOS http请求,json序列化
1369浏览 • 1回复 待解决
把一个自定义类型的对象存储到文件中,自定义对象是否支持序列化,后者如何将一个自定义对象序列化
2526浏览 • 1回复 待解决
HarmonyOS C++反序列化拿到了ts对象后怎么调对象方法
887浏览 • 1回复 待解决
HarmonyOS 哪些情况下主窗口不存在
764浏览 • 1回复 待解决
如何实现文件不存在则创建文件
3111浏览 • 1回复 待解决
HarmonyOS 是否有除了json以外的序列化功能
985浏览 • 1回复 待解决
HarmonyOS 在进行json序列化/反序列化时,是否支持为字段设置别名?
1494浏览 • 1回复 待解决
HarmonyOS 有没有类似protobuf的序列化库
971浏览 • 1回复 待解决
HarmonyOS JSON中的map结构如何序列化
1979浏览 • 1回复 待解决
支持SendableClass序列化。对象分配在各自的虚拟机内存空间,不存在竞争访问,不同线程可以同时读写。
参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/arkts-sendable-0000001820999729
共享模式后存在竞争,如果不出现竞争,就不需要加lock。