HarmonyOS 鸿蒙Next ArkTS中有没有类似java中的synchronized

发布于 1周前 作者 gougou168 最后一次编辑是 5天前 来自 鸿蒙OS

ArkTS中有没有类似java中的synchronized?HarmonyOS 鸿蒙Next

现在模拟小李和小黄共同消费5000元,小李消费3000,小黄消费4000,使用worker模拟小李和小黄两个线程,遇到了线程同步问题。

3 回复

楼主您好,

可以在调用的异步方法前面加上“await”将方法转为同步。

arkts是单线程模型,没有锁的概念,提供异步并发能力,同一时间只有一段代码在执行。因为没有对象直接共享,所以容器都是线程安全的。

taskpool和worker都是用来处理多线程并发的,所以arkts不是单纯的js单线程模型那么简单。

ArkTS中并没有直接类似Java中的synchronized机制,因为ArkTS采用Actor并发模型,线程间具有内存隔离,主要通过消息传递进行通信,避免了直接共享内存和锁的需求。这种模型旨在减少数据竞争和死锁等问题,提高线程安全性。如果问题依旧没法解决,请加我微信,我的微信是itying888。

回到顶部