系统的进程模型如下图所示:
应用中(同一包名)的所有PageAbility、ServiceAbility、DataAbility、FormAbility运行在同一个独立进程中,即图中绿色部分的“Main Process”。
WebView拥有独立的渲染进程,即图中黄色部分的“Render Process”。
图1 进程模型示意图

基于当前的进程模型,针对应用间存在多个进程的情况,系统提供了如下进程间通信机制:
公共事件机制:多用于一对多的通信场景,公共事件发布者可能存在多个订阅者同时接收事件。
FA模型下的线程主要有如下三类:
主线程:
负责管理其他线程。
Ability线程:
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
gitee.com/MNxiaona/733GH