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

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

阅读 433
1 个回答

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

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

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

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

logo
HarmonyOS
子站问答
访问
宣传栏