应用多线程开发概述
ArkTS应用开发过程中,需要用到并发能力的业务场景很多,不同业务场景需要使用的并发能力不同,对应的主要任务类型也不同。
针对常见的业务场景,主要可以对应分为三种并发任务:[耗时任务]、[长时任务]、[常驻任务]。
不同任务类型下可再细划分,比如典型的耗时任务有CPU密集型任务、I/O密集型任务以及同步任务,分别对应的典型业务场景也不相同。请开发者根据场景任务类型对应选择并发能力。
耗时任务并发场景简介
耗时任务指的是需要长时间执行的任务,如果在UI主线程执行可能导致应用卡顿掉帧、响应慢等问题。典型的耗时任务有CPU密集型任务、I/O密集型任务以及同步任务。
对应耗时任务,常见的业务场景分类如下所示:
常见业务场景 | 具体业务描述 | CPU密集型 | I/O密集型 | 同步任务 |
---|---|---|---|---|
图片/视频编解码 | 将图片或视频进行编解码再展示。 | √ | √ | × |
压缩/解压缩 | 对本地压缩包进行解压操作或者对本地文件进行压缩操作。 | √ | √ | × |
JSON解析 | 对JSON字符串的序列化和反序列化操作。 | √ | × | × |
模型运算 | 对数据进行模型运算分析等。 | √ | × | × |
网络下载 |