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

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

阅读 432
1 个回答

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

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

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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
logo
HarmonyOS
子站问答
访问
宣传栏