HarmonyOS Next开发学习手册——进程模型&线程模型

进程模型

系统的进程模型如下图所示:

  • 应用中(同一包名)的所有PageAbility、ServiceAbility、DataAbility、FormAbility运行在同一个独立进程中,即图中绿色部分的"Main Process"。

  • WebView拥有独立的渲染进程,即图中黄色部分的"Render Process"。

图1 进程模型示意图

基于当前的进程模型,针对应用间存在多个进程的情况,系统提供了如下进程间通信机制:

公共事件机制:多用于一对多的通信场景,公共事件发布者可能存在多个订阅者同时接收事件。

线程模型

FA模型下的线程主要有如下三类:

  • 主线程:

    负责管理其他线程。

  • Ability线程:

    • 每个Ability一个线程。
    • 输入事件分发。
    • UI绘制。
    • 应用代码回调(事件处理,生命周期)。
    • 接收Worker发送的消息。
  • Worker线程:

    执行耗时操作。

基于当前的线程模型,不同的业务功能运行在不同的线程上,业务功能的交互就需要线程间通信。线程间通信目前主要有 Emitter 和 Worker 两种方式,其中Emitter主要适用于线程间的事件同步, Worker主要用于新开一个线程执行耗时任务。

说明

FA模型每个Ability都有一个独立的线程,Emiter可用于Ability线程内、Ability线程间、Ability线程与Worker线程的事件同步。

鸿蒙全栈开发全新学习指南

为了积极培养鸿蒙生态人才,让大家都能学习到鸿蒙开发最新的技术,针对一些在职人员、0基础小白、应届生/计算机专业、鸿蒙爱好者等人群,整理了一套纯血版鸿蒙(HarmonyOS Next)全栈开发技术的学习路线【包含了大厂APP实战项目开发】

本路线共分为四个阶段

第一阶段:鸿蒙初中级开发必备技能

第二阶段:鸿蒙南北双向高工技能基础:gitee.com/MNxiaona/733GH

第三阶段:应用开发中高级就业技术

第四阶段:全网首发-工业级南向设备开发就业技术:gitee.com/MNxiaona/733GH

鸿蒙开发面试真题(含参考答案):gitee.com/MNxiaona/733GH

写在最后

  • 如果你觉得这篇内容对你还蛮有帮助,我想邀请你帮我三个小忙:
  • 点赞,转发,有你们的 『点赞和评论』,才是我创造的动力。
  • 关注小编,同时可以期待后续文章ing🚀,不定期分享原创知识。
  • 想要获取更多完整鸿蒙最新学习资源,请移步前往小编:gitee.com/MNxiaona/733GH
相关推荐
salvation~26 分钟前
Inception_V2_V3_pytorch
人工智能·pytorch·python·深度学习·inceptionv3
@李思成2 小时前
动手学深度学习(Pytorch版)代码实践 -计算机视觉-49风格迁移
pytorch·深度学习·计算机视觉
whltaoin2 小时前
HarmonyOS APP应用开发项目- MCA助手(Day02持续更新中~)
harmonyos·arkts·移动应用开发
yuzhangfeng2 小时前
【TensorFlow深度学习】图像旋转预测:一个无监督表征学习的实践案例
人工智能·深度学习·学习·机器学习·tensorflow
会撸代码的懒羊羊2 小时前
深度学习基准模型Transformer
人工智能·深度学习·算法·bert·transformer
Susu_afmx2 小时前
音频分离人声和伴奏可以实现吗?手机人声分离工具10款无偿分享!
windows·深度学习·华为·智能手机·新媒体运营·电脑·音视频
@李思成3 小时前
动手学深度学习(Pytorch版)代码实践 -计算机视觉-39实战Kaggle比赛:狗的品种识别(ImageNet Dogs)
pytorch·深度学习·计算机视觉
HarmonyOS_SDK3 小时前
解决卡顿发热,超帧技术焕发中重载游戏动力
华为·harmonyos·游戏开发
许墨の小蝴蝶3 小时前
gpu是什么?
人工智能·深度学习·语言模型
xiandong203 小时前
240627_关于CNN中图像维度变化问题
图像处理·人工智能·深度学习·神经网络·机器学习·cnn