askPool运作机制
图1 TaskPool运作机制示意图

TaskPool支持开发者在主线程封装任务抛给任务队列,系统选择合适的工作线程,进行任务的分发及执行,再将结果返回给主线程。接口直观易用,支持任务的执行、取消。工作线程数量上限为4。
| 鸿蒙OS开发 | 更多内容↓点击 | HarmonyOS与OpenHarmony技术 |
|---|---|---|
| 鸿蒙技术文档 | 开发知识更新库gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md在这。 | 或+mau123789学习,是v喔 |
Worker运作机制
图2 Worker运作机制示意图

创建Worker的线程称为宿主线程(不一定是主线程,工作线程也支持创建Worker子线程),Worker自身的线程称为Worker子线程(或Actor线程、工作线程)。每个Worker子线程与宿主线程拥有独立的实例,包含基础设施、对象、代码段等。Worker子线程和宿主线程之间的通信是基于消息传递的,Worker通过序列化机制与宿主线程之间相互通信,完成命令及数据交互。
本文参考引用HarmonyOS官方开发文档,基于API9。
审核编辑 黄宇
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
Worker
+关注
关注
0文章
8浏览量
6711 -
鸿蒙
+关注
关注
60文章
3064浏览量
46270
发布评论请先 登录
相关推荐
热点推荐
【瑞萨RA × Zephyr评测】多线程和看门狗
本文章旨在评估使用 Zephyr RTOS 在 Renesas FPB-RA6E2 开发板上实现多线程调度与硬件看门狗功能的应用。评估内容包括任务调度、看门狗初始化流程、主程序逻辑的详细解析,以及实验现象与数据分析。
多线程的系统
的优先级足够高,就会立马得到响应。相比其他裸机系统,多线程系统的实时性又被提高了。
多线程系统大概的伪代码具体见代码清单所示:
int flag1 = 0;
int flag2 = 0;
int
发表于 12-08 07:55
Linux多线程对比单线程的优势
:「资源利用率」:通过多线程,可以更有效地利用CPU资源,特别是多核CPU。「并行处理」:线程允许同时执行多个任务,提高程序的执行效率。「简化设计」:使用线程可以简化程序设计,因为线程
发表于 12-01 06:11
同步任务开发指导
,例如无法单例创建的类对象实现的方法。
使用TaskPool处理同步任务
当调度独立的任务,或者一系列任务为静态方法实现,或者可以通过单例构造唯一的句柄或类对象,可在不同任务线程之间
发表于 06-19 07:57
CPU密集型任务开发指导
密集型任务可以提高CPU利用率,提升应用程序响应速度。
当任务不需要长时间(3分钟)占据后台线程,而是一个个独立的任务时,推荐使用TaskPool,反之推荐使用Worker。接下来将以图像直方图处理
发表于 06-19 06:05
鸿蒙5开发宝藏案例分享---优化应用时延问题
鸿蒙性能优化宝藏指南:6大实战案例让你的应用飞起来!
大家好!今天在翻鸿蒙文档时挖到了 性能优化宝藏库 !官方竟然悄悄藏了这么多实战案例,从UI渲染到数据库操作应有尽有。这些案例要是早
发表于 06-13 10:08
鸿蒙5开发宝藏案例分享---应用性能优化指南
任务交给子线程。优化策略 :
多线程处理 :
CPU密集型用 <span class=\"ne-text\">TaskPool<
发表于 06-12 17:17
鸿蒙5开发宝藏案例分享---跨线程性能优化指南
;>Worker</span>做多线程开发时,总遇到对象跨线程卡顿的问题,原来鸿蒙早就提供了解决方案。下面结合代码和实战案
发表于 06-12 17:13
鸿蒙5开发宝藏案例分享---性能体验设计
例子:
// 错误示范:直接在主线程加载大图
Image($r(\'app.media.large_img\')) // 可能造成界面冻结
// 正确做法:异步加载+占位符
Column
发表于 06-12 16:45
鸿蒙5开发宝藏案例分享---切面编程实战揭秘
鸿蒙切面编程(AOP)实战指南:隐藏的宝藏功能大揭秘!
大家好!今天在翻鸿蒙开发者文档时,意外发现了官方埋藏的「切面编程」宝藏案例!实际开发中这些技巧能大幅提升效率,却很少被提及。下面
发表于 06-12 16:21
鸿蒙5开发宝藏案例分享---应用并发设计
:TaskPool根据负载动态调整线程数
? 实测对比 :
8核设备线程数:Java平均200+ vs ArkTS仅7-15
内存占用:空
发表于 06-12 16:19
使用DevEcoStudio 开发、编译鸿蒙 NEXT_APP 以及使用中文插件
# 使用DevEcoStudio 开发、编译鸿蒙 NEXT_APP 以及使用中文插件 #鸿蒙开发工具 #DevEco Studio
##
发表于 06-11 17:18
鸿蒙APP开发:【ArkTS类库多线程】TaskPool和Worker的对比(2)
评论