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类型如何实现读取序列化对象
11643浏览 • 3回复 已解决
求大佬告知如何序列化对象
695浏览 • 1回复 待解决
HarmonyOS ArkTS中序列化反序列化是什么API呢?
139浏览 • 1回复 待解决
真机运行,UDID不存在
6031浏览 • 1回复 待解决
线程间JS对象通过序列化方式进行数据通信,是否存在性能问题
1919浏览 • 1回复 待解决
HarmonyOS 安装时报错依赖的模块不存在
915浏览 • 1回复 待解决
把一个自定义类型的对象存储到文件中,自定义对象是否支持序列化,后者如何将一个自定义对象序列化
1586浏览 • 1回复 待解决
如何实现文件不存在则创建文件
2071浏览 • 1回复 待解决
HarmonyOS 在进行json序列化/反序列化时,是否支持为字段设置别名?
330浏览 • 1回复 待解决
有谁知道 task 参数无法序列化
1774浏览 • 1回复 待解决
HarmonyOS JSON中的map结构如何序列化
518浏览 • 1回复 待解决
使用web组件读取沙箱中不存在的文件app崩溃
1540浏览 • 1回复 待解决
自定义类如何实现序列化
1954浏览 • 1回复 待解决
HarmonyOS 对于json字符串转具体类对象的方案(反序列化操作)
411浏览 • 1回复 待解决
虚拟主机内存/CPU使用率过高如何解决?
5975浏览 • 1回复 待解决
IDE使用getContext(this)上的startabilityForResult方法,IDE提示不存在该方法
1913浏览 • 1回复 待解决
router.pushUrl()当url不存在的时候,如何判断跳转失败
2166浏览 • 1回复 待解决
JSON反序列化,如何重命名字段?
227浏览 • 1回复 待解决
#鸿蒙学习大百科#Actor模型的线程间序列化传输对象有几种?
212浏览 • 1回复 待解决
HarmonyOS 引入react-native-mjrefresh三方库,发现头文件不存在
182浏览 • 1回复 待解决
在使用序列化方式实现线程间JS对象的数据通信时,是否会导致性能问题。
404浏览 • 1回复 待解决
通过 external 或者 wrap 关联了 native 对象的 object,序列化之后传输到其他线程使用
1651浏览 • 1回复 待解决
Web组件加载不存在的file协议地址时没有触发onLoadIntercept和onErrorReceive生命周期
210浏览 • 1回复 待解决
HarmonyOS map反序列化后,调用map.has报错
523浏览 • 1回复 待解决
支持SendableClass序列化。对象分配在各自的虚拟机内存空间,不存在竞争访问,不同线程可以同时读写。
参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/arkts-sendable-0000001820999729
共享模式后存在竞争,如果不出现竞争,就不需要加lock。