踏入鸿蒙世界的敲门砖,标志着您在技术征途上的全新起点,提升就业竞争力,获得行业 认可,点亮职业成长先机,快人一步抢占未来应用开发赛道! https://developer.huawei.com/consumer/cn/training/dev-cert-detail/101666948302721398?ha_source=hmosclass-itpub&ha_sourceId=70000033
本文旨在深入探讨华为鸿蒙HarmonyOS NEXT系统(截至目前API12)的技术细节,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。
鸿蒙系统提供了两种并发能力:TaskPool 和 Worker。它们都基于 Actor 并发模型实现,但它们的使用场景和功能有所不同。
l TaskPool :TaskPool 是一个多线程运行环境,它提供了任务的执行、取消、优先级设置等功能。TaskPool 适用于独立任务,例如计算密集型任务、I/O 密集型任务等。
l Worker :Worker 是一个可以长时间运行的后台线程,它支持与宿主线程之间的消息传递。Worker 适用于长时间运行的任务,例如后台数据处理、模型训练等。
l TaskPool :适用于独立任务,例如计算密集型任务、I/O 密集型任务等。
l Worker :适用于长时间运行的任务,例如后台数据处理、模型训练等。
TaskGroup
:TaskGroup 是一个任务集合,可以将多个任务添加到 TaskGroup 中,并一起执行。TaskGroup 支持配置任务的优先级。
示例:
任务优先级 :
l Priority.IDLE :后台任务,优先级最低。
l Priority.LOW :低优先级任务。
l Priority.MEDIUM :中等优先级任务。
l Priority.HIGH :高优先级任务。
任务添加 :
任务执行:
任务 取消 :
以下是一个简单的示例,演示如何使用 TaskPool 执行 CPU 密集型任务:
这段代码定义了一个名为
Index
的组件,并在组件中显示了一条文本消息 “Hello World”。点击按钮会执行
concurrentCalculation
函数,该函数创建一个并发任务并执行它。任务完成后,会在控制台输出结果。
通过以上介绍,您可以了解到鸿蒙系统中的 TaskPool 和 Worker 并发能力的使用方法。TaskPool 和 Worker 都是基于 Actor 并发模型实现的,但它们的使用场景和功能有所不同。希望本文能够帮助您掌握鸿蒙系统中的并发编程技术,并开发出更优秀的鸿蒙应用。 (转载自51CTO,作者:SameX)
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70047792/viewspace-3098965/ ,如需转载,请注明出处,否则将追究法律责任。