在开发指南和文档中发现没有提及到关于多线程开发线程安全问题,如各种线程锁,只有这篇指南有提到一些线程安全的API https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/multi-thread-safety-V5,想咨询一下,开发者是否需要在使用TaskPool和Worker时额外关注线程安全问题,是否按照文档中的API使用即可保证线程安全
在开发指南和文档中发现没有提及到关于多线程开发线程安全问题,如各种线程锁,只有这篇指南有提到一些线程安全的API https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/multi-thread-safety-V5,想咨询一下,开发者是否需要在使用TaskPool和Worker时额外关注线程安全问题,是否按照文档中的API使用即可保证线程安全
1 回答881 阅读✓ 已解决
1 回答1.2k 阅读
1 回答1k 阅读
1 回答969 阅读
1 回答941 阅读
1 回答843 阅读
1 回答800 阅读
ArkTS本身是单线程的,不涉及到线程安全问题。目前ArkTS开启多线程的方式是,语言基础类库提供的taskPool和worker两个多线程的方案。这两种方案都是基于Actor并发模型实现的。Actor并发模型是基于事件基础传递数据,不需要开发者去面对锁代理的一系列复杂偶发的问题,是线程安全的,同时并发度也相对较高。目前线程间的数据传输支持的对象分为三类,普通的JavaScript对象,可转移对象,可共享对象。