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
相关推荐
gsgbgxp17 小时前
WSL迁移至非系统盘
深度学习·ubuntu
乾元17 小时前
绕过艺术:使用 GANs 对抗 Web 防火墙(WAF)
前端·网络·人工智能·深度学习·安全·架构
小白郭莫搞科技17 小时前
鸿蒙跨端框架Flutter学习:CurvedAnimation曲线动画详解
学习·flutter·harmonyos
机 _ 长17 小时前
YOLO26 蒸馏改进全攻略:从理论到实战 (Response + Feature + Relation)
人工智能·深度学习·yolo·目标检测·计算机视觉
Miguo94well17 小时前
Flutter框架跨平台鸿蒙开发——旅行攻略规划APP的开发流程
flutter·华为·harmonyos·鸿蒙
zilikew17 小时前
Flutter框架跨平台鸿蒙开发——食物采购清单APP的开发流程
flutter·华为·harmonyos·鸿蒙
轻览月17 小时前
【DL】卷积神经网络
深度学习·机器学习·cnn·卷积神经网络
逄逄不是胖胖17 小时前
《动手学深度学习》-55-1RNN的复杂实现
pytorch·深度学习·机器学习
A尘埃18 小时前
数值特征标准化StandardScaler和类别不平衡SMOTE
人工智能·深度学习·机器学习
软件算法开发18 小时前
基于卷尾猴优化的LSTM深度学习网络模型(CSA-LSTM)的一维时间序列预测算法matlab仿真
深度学习·算法·matlab·lstm·一维时间序列预测·卷尾猴优化·csa-lstm