HarmonyOS 多线程如何使用锁保障共享数据的访问安全性,类似synchronized

HarmonyOS
3天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
fox280

ArkTS本身是单线程的,不涉及到线程安全问题。

目前ArkTS开启多线程的方式是,语言基础类库提供的taskPool和worker两个多线程的方案。

这两种方案都是基于Actor并发模型实现的。Actor并发模型是基于事件基础传递数据,不需要开发者去面对锁代理的一系列复杂偶发的问题,是线程安全的,同时并发度也相对较高。目前线程间的数据传输支持的对象分为三类,普通的JavaScript对象,可转移对象,可共享对象。

ets采用Actor模型,Actor并发模型每一个线程都是一个独立Actor,每个Actor有自己独立的内存,Actor之间通过消息传递机制触发对方Actor的行为,不同Actor之间不能直接访问对方的内存空间。

分享
微博
QQ
微信
回复
3天前
相关问题
如何实现多线程数据共享
2246浏览 • 1回复 待解决
HarmonyOS 多线程共享数据方法疑惑
60浏览 • 2回复 待解决
HarmonyOS 多线程问题
538浏览 • 1回复 待解决
ArkTs多线程方案如何保证线程安全
2604浏览 • 2回复 待解决
多线程中EGL如何共享Context
459浏览 • 1回复 待解决
HarmonyOS数据安全性问题
468浏览 • 1回复 待解决
HarmonyOS 多线程安全问题验证
56浏览 • 1回复 待解决