Harmony OS Next----Ark TS 常用类
async/await是一种用于处理异步操作的Promise语法糖,使得编写异步代码更加简单和易读。async采用声明函数表示该函数为异步函数,await来声明promise的调用过程,使得async配合await就可以不用使用promise的then-catch结构。(2)TaskPool支持开发者在主线程封装任务抛给任务机制,系统选择合适的工作线程,进行任务的分发及执行,再将结果返回给主线程。
·
一、概论
Ark TS语言基础库是Harmony OS 系统上为应用开发者提供的常用基础能力,常用类库包括:
(1)提供异步并发和多线程的能力
(2)提供常见的容器类库增、删、改、查的能力
二、并发处理
1. 并发是指在同一时间段内,能够处理多个任务的能力,为了提升应用的响应速度和帧率,以及防止好事任务对主线任务线程的干扰,Harmony OS提供了异步并发和多线程并发两种处理策略。
(1)异步并发是指异步代码在执行到一定程度后会被暂停,以便在未来某个时间点继续执行,在这种情况下,同一时间只有一段代码在执行,Promise和async/await提供异步并发能力
(2)多线程并发允许在同一时间段内执行多段代码。在主线程继续响应用户操作和更新UI的同时,后台也能执行耗时操作,从而避免应用出现卡顿,TaskPool和Worker提供多线程并发能力。
2.Promise
Promise有三种状态:pending(进行中)、fulled(已完成)和rejected(已拒绝)
3.定义一个promise对象

4.promise处理

5.promise的实战案例

6.async/await
async/await是一种用于处理异步操作的Promise语法糖,使得编写异步代码更加简单和易读。async采用声明函数表示该函数为异步函数,await来声明promise的调用过程,使得async配合await就可以不用使用promise的then-catch结构。
(1)定义异步函数

(2)调用异步函数

(3)注意:使用该方式处理promise的时候,如果是执行了reject函数的值是得不到的,只能得到resolve的值
(4)async/await实战案例

7.TaskPool
(1) TaskPool(任务池)伪应用程序提供一个多线程的运行环境,用于处理好事的计算任务或其他密集型任务。可以有效地避免这些任务阻塞主线程,从而最大化系统的利用率,降低整体资源消耗,并提高系统的整体性能。

(2)TaskPool支持开发者在主线程封装任务抛给任务机制,系统选择合适的工作线程,进行任务的分发及执行,再将结果返回给主线程。
(3)创建任务

使用@conurrent注解必须装饰函数,并且不能在组建内部声明
(4)创建线程

(5)运行线程并将运行结果交给主线程

8.Worker
(1)也可以提供多线程运行环境,相较于TaskPool,Worker线程更加独立,不依赖主线程,线程生命周期更长,常用于后台长时间工作的任务。

(2)创建Worker的线程称为宿主线程(不一定是主线程,工作线程也支持Worker子线程),Worker自身的线程称为Worker子线程(或Actor线程、工作线程)。每个Worker子线程与宿主线程拥有独立的实例,包含基础设施、对象代码段等。Worker子线程和宿主线程之间的通信是基于信息传递的,Worker通过序列化机制与宿主之间相互通信,完成命令及数据交互。
(3)创建Worker

(4)创建worker子线程任务

(5)主线程创建实例

(6)主线程发送消息

(7)主线程关闭子线程

(8)实战案例

注:适用版本Harmony OS NEXT/5.0/API12+
更多推荐

所有评论(0)