进程模型
系统的进程模型如下图所示:
-
应用中(同一包名)的所有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
本站资源均来自互联网,仅供研究学习,禁止违法使用和商用,产生法律纠纷本站概不负责!如果侵犯了您的权益请与我们联系!
转载请注明出处: 免费源码网-免费的源码资源网站 » HarmonyOS Next开发学习手册——进程模型&线程模型
发表评论 取消回复