线程模型
线程类型
Stage模型下的线程主要有如下三类:
- 主线程
- 执行UI绘制。
- 管理主线程的ArkTS引擎实例,使多个UIAbility组件能够运行在其之上。
- 管理其他线程的ArkTS引擎实例,例如使用TaskPool(任务池)创建任务或取消任务、启动和终止Worker线程。
- 分发交互事件。
- 处理应用代码的回调,包括事件处理和生命周期管理。
- 接收TaskPool以及Worker线程发送的消息。
- [TaskPool Worker线程]
- 用于执行耗时操作,支持设置调度优先级、负载均衡等功能,推荐使用。
- [Worker线程]
- 用于执行耗时操作,支持线程间通信。 TaskPool与Worker的运作机制、通信手段和使用方法可以参考[TaskPool和Worker的对比]。

- 用于执行耗时操作,支持线程间通信。 TaskPool与Worker的运作机制、通信手段和使用方法可以参考[TaskPool和Worker的对比]。
说明:
开发前请熟悉鸿蒙开发指导文档 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]
- TaskPool自行管理线程数量,其生命周期由TaskPool统一管理。Worker线程最多创建8个,其生命周期由开发者自行维护。
- 同一线程中存在多个组件,例如UIAbility组件和UI组件都存在于主线程中。在Stage模型中目前主要使用[EventHub]进行数据通信。
- 执行
hdc shell命令,进入设备的shell命令行。在shell命令行中,执行ps -p命令,可以查看指定应用进程的线程信息。其中,-T 为需要指定的应用进程的[进程ID]。

使用EventHub进行线程内通信
[EventHub]提供了线程内发送和处理事件的能力,包括对事件订阅、取消订阅、触发事件等。以UIAbility组件与UI之间的数据同步为例,具体使用方法可以参考[UIAbility组件与UI的数据同步]。
审核编辑 黄宇
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
线程
+关注
关注
0文章
508浏览量
20761 -
鸿蒙
+关注
关注
60文章
2861浏览量
45364
发布评论请先 登录
相关推荐
热点推荐
鸿蒙内核源码Task/线程技术分析
前言 在鸿蒙内核中,广义上可理解为一个Task就是一个线程 一、怎么理解Task 1. 官方文档是怎么描述线程 基本概念 从系统的角度看,线程是竞争系统资源的最小运行单元。
鸿蒙OS 线程管理开发指导
场景介绍 如果应用的业务逻辑比较复杂,可能需要创建多个线程来执行多个任务。这种情况下,代码复杂难以维护,任务与线程的交互也会更加繁杂。要解决此问题,开发者可以使用“TaskDispatcher”来
鸿蒙原生应用开发-ArkTS语言基础类库多线程并发概述
并发模型是用来实现不同应用场景中并发任务的编程模型,常见的并发模型分为基于内存共享的并发模型和基于消息通信的并发模型。
Actor并发
发表于 03-22 15:40
鸿蒙原生应用开发-ArkTS语言基础类库多线程并发概述
并发模型是用来实现不同应用场景中并发任务的编程模型,常见的并发模型分为基于内存共享的并发模型和基于消息通信的并发模型。
Actor并发
发表于 03-28 14:35
DevEco Studio AI辅助开发工具两大升级功能 鸿蒙应用开发效率再提升
数据支撑时提供相关的延伸指导。这种设计既保障了鸿蒙技术支持的专注度,又通过善意引导帮助用户建立合理预期,最终实现开发者体验与专业深度的双提升。
随着DeepSeek模型使用RAG能力增强之后
发表于 04-18 14:43
鸿蒙5开发宝藏案例分享---应用并发设计
?** 鸿蒙并发编程实战指南:解锁ArkTS多线程黑科技**
嘿,开发者朋友们! 今天给大家扒一扒鸿蒙官方文档里藏着的并发编程宝藏—— 100+实战场景解决方案 !从金融理财到游戏
发表于 06-12 16:19
鸿蒙5开发宝藏案例分享---跨线程性能优化指南
;>Worker</span>做多线程开发时,总遇到对象跨线程卡顿的问题,原来鸿蒙早就提供了解决方案。下面结合代码和实战案例,带你彻底玩转性能优化!
一、痛点:跨
发表于 06-12 17:13
BearPi-HM_Nano开发板鸿蒙OS内核编程开发——Thread多线程
BearPi-HM_Nano开发板鸿蒙OS内核编程开发——Thread多线程本示例将演示如何在BearPi-HM_Nano开发板上使用cms
发表于 04-09 09:50
多线程服务器编程模型:如何正确使用mutex 和condition variable
本文对多线程服务器的常用编程模型进行了一个详细的解读,本文中的多线程服务器是运行在 Linux 操作系统上网络应用程序。介绍了典型的单线程服务器编程
SCP线程模型特点
线程 混合协作调度模型-调度在具有相同优先级的线程之间是协作的。 •无需锁 •使代码更简单,避免了死锁的情况。 •它消除了对执行上下文/RTOS的依赖,并防止了开销。 •事件在线程上下
使用 Taro 开发鸿蒙原生应用 —— 快速上手,鸿蒙应用开发指南
随着鸿蒙系统的不断完善,许多应用厂商都希望将自己的应用移植到鸿蒙平台上。最近,Taro 发布了 v4.0.0-beta.x 版本,支持使用 Taro 快速开发鸿蒙原生应用,也可将现有的
摩尔线程与智谱AI完成大模型性能测试与适配
近日,摩尔线程与智谱AI在人工智能领域开展了一轮深入的合作,共同对GPU大模型进行了适配及性能测试。此次测试不仅涵盖了大模型的推理能力,还涉及了基于摩尔线程夸娥(KUAE)千卡智算集群
鸿蒙中Stage模型与FA模型详解
【HarmonyOS 5】鸿蒙中Stage模型与FA模型详解 ##鸿蒙开发能力 ##HarmonyOS SDK应用服务##

鸿蒙开发:【线程模型】

评论