taskPool介绍
任务池(taskpool)作用是为应用程序提供一个多线程的运行环境,降低整体资源的消耗、提高系统的整体性能,且您无需关心线程实例的生命周期。您可以使用任务池API创建后台任务(Task),并对所创建的任务进行如任务执行、任务取消的操作。理论上您可以使用任务池API创建数量不受限制的任务,但是出于内存因素不建议您这样做。此外,不建议您在任务中执行阻塞操作,特别是无限期阻塞操作,长时间的阻塞操作占据工作线程,可能会阻塞其他任务调度,影响您的应用性能。
说明:
本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
导入模块
import taskpool from '@ohos.taskpool';
编写测试代码
需要在开启多线程的函数上添加@Concurrent装饰器,接着调用taskpool.execute开启多线程
Index.ets测试代码
import { test } from '../common/taskPool'
@Entry
@Component
struct Index {
async onPageShow(): Promise<void> {
for (let i=0;i<5;i++){
test()
}
}
build() {
Column(){
}
.width('100%')
.height('100%')
}
}