0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

鸿蒙APP开发:【ArkTS类库多线程】TaskPool和Worker的对比(2)

jf_46214456 来源:jf_46214456 作者:jf_46214456 2024-03-27 15:44 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

askPool运作机制

图1 TaskPool运作机制示意图

TaskPool支持开发者在主线程封装任务抛给任务队列,系统选择合适的工作线程,进行任务的分发及执行,再将结果返回给主线程。接口直观易用,支持任务的执行、取消。工作线程数量上限为4。

鸿蒙OS开发更多内容↓点击HarmonyOSOpenHarmony技术
鸿蒙技术文档开发知识更新库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 开发板上实现多线程调度与硬件看门狗功能的应用。评估内容包括任务调度、看门狗初始化流程、主程序逻辑的详细解析,以及实验现象与数据分析。
    的头像 发表于 01-10 10:23 2769次阅读
    【瑞萨RA × Zephyr评测】<b class='flag-5'>多线程</b>和看门狗

    多线程的系统

    的优先级足够高,就会立马得到响应。相比其他裸机系统,多线程系统的实时性又被提高了。 多线程系统大概的伪代码具体见代码清单所示: int flag1 = 0; int flag2 = 0; int
    发表于 12-08 07:55

    Linux多线程对比线程的优势

    :「资源利用率」:通过多线程,可以更有效地利用CPU资源,特别是多核CPU。「并行处理」:线程允许同时执行多个任务,提高程序的执行效率。「简化设计」:使用线程可以简化程序设计,因为线程
    发表于 12-01 06:11

    多线程的安全注意事项

    多线程安全是指多个线程同时访问或修改共享资源时,能够保证程序的正确性和可靠性。 开发者选择TaskPoolWorker进行
    发表于 06-20 07:49

    同步任务开发指导

    ,例如无法单例创建的对象实现的方法。 使用TaskPool处理同步任务 当调度独立的任务,或者一系列任务为静态方法实现,或者可以通过单例构造唯一的句柄或对象,可在不同任务线程之间
    发表于 06-19 07:57

    CPU密集型任务开发指导

    密集型任务可以提高CPU利用率,提升应用程序响应速度。 当任务不需要长时间(3分钟)占据后台线程,而是一个个独立的任务时,推荐使用TaskPool,反之推荐使用Worker。接下来将以图像直方图处理
    发表于 06-19 06:05

    TaskPoolWorker对比分析

    支持。不支持。适用场景对比 TaskPoolWorker均支持多线程并发能力。由于TaskPool的工作
    发表于 06-18 06:43

    什么是ArkTS

    、提高系统的整体性能,开发者无需关心线程实例的生命周期。 Worker支持多线程并发,支持Worker线
    发表于 06-17 06:24

    鸿蒙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