HarmonyOS 多线程相关疑问?
一些数据结构后续会改成内存共享的方式。有如下几个问题想确认下:
1.数据结构由非内存共享方式,改为内存共享方式,会影响到开发,比如之前不需要加锁,之后需要加锁?目前也没看到有锁的概念。
2.目前多线程方式是基于Actor并发模型实现的,这个后续没有更改的计划吧?不会改为内存共享的方式,会一直保持Actor的方式吧?也就是app开发者基于目前的多线程方式写代码,后续不用更改实现方案吧?
HarmonyOS 多线程相关疑问?
一些数据结构后续会改成内存共享的方式。有如下几个问题想确认下:
1.数据结构由非内存共享方式,改为内存共享方式,会影响到开发,比如之前不需要加锁,之后需要加锁?目前也没看到有锁的概念。
2.目前多线程方式是基于Actor并发模型实现的,这个后续没有更改的计划吧?不会改为内存共享的方式,会一直保持Actor的方式吧?也就是app开发者基于目前的多线程方式写代码,后续不用更改实现方案吧?
1 回答481 阅读✓ 已解决
1 回答492 阅读
1 回答422 阅读
407 阅读
372 阅读
1 回答241 阅读
HarmonyOS多线程是指在鸿蒙操作系统中同时运行多个线程,每个线程可以独立执行不同的任务。线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。
作用:
提高系统的并发性和响应能力:通过多线程,多个任务可以同时进行,从而提高系统的资源利用率和响应速度。
充分利用多核处理器:在多核处理器环境下,多线程可以并行执行,充分利用硬件资源。
1.当前官网看到的是非内存共享方式,后面会提供内存共享方式,两种方式可以按需自由选择:https://gitee.com/openharmony/docs/blob/master/zh-cn/applicat...
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides...
Sendable开发指南:https://gitee.com/openharmony/docs/blob/master/zh-cn/applicat...
Sendable装饰器:https://gitee.com/openharmony/docs/blob/master/zh-cn/applicat...
异步锁:https://gitee.com/openharmony/docs/blob/master/zh-cn/applicat...
共享容器:https://gitee.com/openharmony/docs/blob/master/zh-cn/applicat...
taskpool: https://gitee.com/openharmony/docs/blob/master/zh-cn/applicat...
worker:https://gitee.com/openharmony/docs/blob/master/zh-cn/applicat...
2.Actor并发模型每一个线程都是一个独立Actor,每个Actor有自己独立的内存,Actor之间通过消息传递机制触发对方Actor的行为,不同Actor之间不能直接访问对方的内存空间。Actor属于非内存共享方式,官网有介绍,目前没有增加内存共享的计划,就算增加也是新增,老的方式也会兼容https://developer.huawei.com/consumer/cn/doc/harmonyos-guides...