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类型如何实现读取序列化对象
11683浏览 • 3回复 已解决
求大佬告知如何序列化对象
730浏览 • 1回复 待解决
HarmonyOS ArkTS中序列化反序列化是什么API呢?
171浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙系统中实现MessagePack对象序列化与反序列化?
114浏览 • 1回复 待解决
真机运行,UDID不存在
6079浏览 • 1回复 待解决
线程间JS对象通过序列化方式进行数据通信,是否存在性能问题
1932浏览 • 1回复 待解决
HarmonyOS 安装时报错依赖的模块不存在
947浏览 • 1回复 待解决
把一个自定义类型的对象存储到文件中,自定义对象是否支持序列化,后者如何将一个自定义对象序列化
1604浏览 • 1回复 待解决
HarmonyOS http请求,json序列化
66浏览 • 1回复 待解决
如何实现文件不存在则创建文件
2106浏览 • 1回复 待解决
有谁知道 task 参数无法序列化
1786浏览 • 1回复 待解决
HarmonyOS 在进行json序列化/反序列化时,是否支持为字段设置别名?
342浏览 • 1回复 待解决
HarmonyOS JSON中的map结构如何序列化
552浏览 • 1回复 待解决
虚拟主机内存/CPU使用率过高如何解决?
6009浏览 • 1回复 待解决
使用web组件读取沙箱中不存在的文件app崩溃
1582浏览 • 1回复 待解决
自定义类如何实现序列化
1998浏览 • 1回复 待解决
HarmonyOS 对于json字符串转具体类对象的方案(反序列化操作)
464浏览 • 1回复 待解决
router.pushUrl()当url不存在的时候,如何判断跳转失败
2205浏览 • 1回复 待解决
IDE使用getContext(this)上的startabilityForResult方法,IDE提示不存在该方法
1956浏览 • 1回复 待解决
JSON反序列化,如何重命名字段?
250浏览 • 1回复 待解决
#鸿蒙学习大百科#Actor模型的线程间序列化传输对象有几种?
233浏览 • 1回复 待解决
HarmonyOS navigation跳转不存在的url,不会抛异常,会跳转到空白页面
39浏览 • 1回复 待解决
在使用序列化方式实现线程间JS对象的数据通信时,是否会导致性能问题。
409浏览 • 1回复 待解决
HarmonyOS 引入react-native-mjrefresh三方库,发现头文件不存在
208浏览 • 1回复 待解决
支持SendableClass序列化。对象分配在各自的虚拟机内存空间,不存在竞争访问,不同线程可以同时读写。
参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/arkts-sendable-0000001820999729
共享模式后存在竞争,如果不出现竞争,就不需要加lock。