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

    浏览量

    6681
  • 鸿蒙
    +关注

    关注

    60

    文章

    2858

    浏览量

    45354
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    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开发宝藏案例分享---跨线程性能优化指南

    ;>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

    开源啦!!!基于鸿蒙ArkTS封装的图表组件《McCharts》,大家快来一起共创

    也用鸿蒙ArkTS语法尝试开发了一些APP,虽然还没上架哈,不过基本的开发流程以及交互都熟悉了,而且马上第一款
    发表于 03-15 15:21

    HarmonyOS NEXT 原生应用/元服务-ArkTS代码调试worker/taskpool调试

    开发者可通过在workertaskpool代码上设置断点,对worker/taskpool进行断点调试。 一、
    发表于 03-13 17:46

    鸿蒙文件传输三方上线开源鸿蒙社区 十行代码实现大文件高速传输

    近日,华为在OpenHarmony社区上线了“super_fast_file_trans”文件传输三方(以下简称“SFFT”)。这一三方的推出,为开发者提供了一套支持大文件多线程
    发表于 03-06 10:29