鸿蒙学习 - taskPool 多线程学习
taskPool 开启子线程,耗时任务的方法需要 @Concurrent修饰。
import taskpool from '@ohos.taskpool';
@Concurrent
function add(number1: number, number2: number) {
return number1 + number2 // 模拟复杂任务
}
async function testTaskAction() {
try {
let task: taskpool.Task = new taskpool.Task(add,2,3)
let res = await taskpool.execute(task)
console.log("testTaskAction结果:" + res.toString())
} catch (e) {
console.log("testTaskAction失败了: " + e)
}
}
@Entry
@Component
struct Index {
build() {
Column(){
Button("测试按钮").onClick(() => {
testTaskAction() // 这个会在子线程执行,打印的话,在下面的log后面
console.log("1234") // 这个会立刻执行。
})
}
}
}