HarmonyOS 鸿蒙Next ArkTS中有没有类似java中的synchronized
ArkTS中有没有类似java中的synchronized?HarmonyOS 鸿蒙Next
现在模拟小李和小黄共同消费5000元,小李消费3000,小黄消费4000,使用worker模拟小李和小黄两个线程,遇到了线程同步问题。
3 回复
楼主您好,
可以在调用的异步方法前面加上“await”将方法转为同步。
arkts是单线程模型,没有锁的概念,提供异步并发能力,同一时间只有一段代码在执行。因为没有对象直接共享,所以容器都是线程安全的。
taskpool和worker都是用来处理多线程并发的,所以arkts不是单纯的js单线程模型那么简单。
ArkTS中并没有直接类似Java中的synchronized机制,因为ArkTS采用Actor并发模型,线程间具有内存隔离,主要通过消息传递进行通信,避免了直接共享内存和锁的需求。这种模型旨在减少数据竞争和死锁等问题,提高线程安全性。如果问题依旧没法解决,请加我微信,我的微信是itying888。