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
待解决
相关问题
HarmonyOS-Sequenceable(序列化)中,URI类型如何实现读取序列化对象
11566浏览 • 3回复 已解决
求大佬告知如何序列化对象
631浏览 • 1回复 待解决
真机运行,UDID不存在
5969浏览 • 1回复 待解决
HarmonyOS 安装时报错依赖的模块不存在
678浏览 • 1回复 待解决
线程间JS对象通过序列化方式进行数据通信,是否存在性能问题
1845浏览 • 1回复 待解决
如何实现文件不存在则创建文件
2003浏览 • 1回复 待解决
把一个自定义类型的对象存储到文件中,自定义对象是否支持序列化,后者如何将一个自定义对象序列化
1533浏览 • 1回复 待解决
使用web组件读取沙箱中不存在的文件app崩溃
1487浏览 • 1回复 待解决
有谁知道 task 参数无法序列化
1728浏览 • 1回复 待解决
虚拟主机内存/CPU使用率过高如何解决?
5834浏览 • 1回复 待解决
IDE使用getContext(this)上的startabilityForResult方法,IDE提示不存在该方法
1842浏览 • 1回复 待解决
router.pushUrl()当url不存在的时候,如何判断跳转失败
2074浏览 • 1回复 待解决
HarmonyOS 在进行json序列化/反序列化时,是否支持为字段设置别名?
235浏览 • 1回复 待解决
HarmonyOS JSON中的map结构如何序列化
358浏览 • 1回复 待解决
自定义类如何实现序列化
1860浏览 • 1回复 待解决
HarmonyOS 对于json字符串转具体类对象的方案(反序列化操作)
109浏览 • 1回复 待解决
#鸿蒙学习大百科#Actor模型的线程间序列化传输对象有几种?
153浏览 • 1回复 待解决
JSON反序列化,如何重命名字段?
134浏览 • 1回复 待解决
通过OH_Pixelmap_CreatePixelMap创建的对象,内存是怎么分配的?
895浏览 • 1回复 待解决
在使用序列化方式实现线程间JS对象的数据通信时,是否会导致性能问题。
322浏览 • 1回复 待解决
HarmonyOS 引入react-native-mjrefresh三方库,发现头文件不存在
51浏览 • 1回复 待解决
跨设备迁移FA并传递序列化实体类无反应
4856浏览 • 3回复 待解决
通过 external 或者 wrap 关联了 native 对象的 object,序列化之后传输到其他线程使用
1593浏览 • 1回复 待解决
HarmonyOS 如何实现一个将任意object对象序列化为string的函数?
413浏览 • 1回复 待解决
支持SendableClass序列化。对象分配在各自的虚拟机内存空间,不存在竞争访问,不同线程可以同时读写。
参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/arkts-sendable-0000001820999729
共享模式后存在竞争,如果不出现竞争,就不需要加lock。