harmony 鸿蒙并发概述

  • 2023-10-30
  • 浏览 (660)

并发概述

并发是指在同一时间内,存在多个任务同时执行的情况。对于多核设备,这些任务可以在不同CPU上并行执行。对于单核设备,尽管多个并发任务不会在同一时刻并行执行,但CPU会在某个任务休眠或进行I/O操作时切换任务,调度执行其他任务,从而提高CPU的资源利用率。

为了提升应用的响应速度与帧率,避免耗时任务影响UI主线程,ArkTS提供了异步并发和多线程并发两种处理策略。

  • 异步并发是指异步代码在执行到一定程度后会被暂停,以便在未来某个时间点继续执行,这种情况下,同一时间只有一段代码在执行。ArkTS通过Promise和async/await提供异步并发能力,适用于单次I/O任务的开发场景。详细请参见使用异步并发能力

  • 多线程并发允许在同一时间段内同时执行多段代码。在UI主线程继续响应用户操作和更新UI的同时,后台线程也能执行耗时操作,从而避免应用出现卡顿。ArkTS通过TaskPool和Worker提供多线程并发能力,适用于耗时任务等并发场景。详细请参见多线程并发概述

在并发多线程场景下,不同线程间需要进行数据通信。不同类别的对象采用不同的传输方式,如拷贝或内存共享。

并发能力广泛应用于多种场景,包括异步并发任务耗时任务(如CPU密集型任务I/O密集型任务同步任务等)、长时任务常驻任务等。开发者可以根据不同的任务诉求和场景,选择相应的并发策略进行优化和开发,具体案例可以参见应用多线程开发实践案例

你可能感兴趣的鸿蒙文章

harmony 鸿蒙ArkTS(方舟编程语言)

harmony 鸿蒙在build-profile.json5中配置arkOptions

harmony 鸿蒙异步锁

harmony 鸿蒙方舟字节码文件格式

harmony 鸿蒙方舟字节码函数命名规则

harmony 鸿蒙方舟字节码基本原理

harmony 鸿蒙方舟字节码概述

harmony 鸿蒙共享容器

harmony 鸿蒙异步等待

harmony 鸿蒙ArkTS跨语言交互

0  赞