如何利用taskpool执行多任务

如何利用taskpool执行多任务

HarmonyOS
2024-01-30 21:09:20
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Bald_eagle

可以使用taskpool.execute接口,将创建好的任务组放入taskpool内部任务队列等待,等待分发到工作线程执行。

示例代码如下:

@Concurrent 
function printArgs(args: number): number { 
    console.log("printArgs: " + args); 
    return args; 
} 
 
let taskGroup1: taskpool.TaskGroup = new taskpool.TaskGroup(); 
taskGroup1.addTask(printArgs, 10); // 10: test number 
taskGroup1.addTask(printArgs, 20); // 20: test number 
taskGroup1.addTask(printArgs, 30); // 30: test number 
 
let taskGroup2: taskpool.TaskGroup = new taskpool.TaskGroup(); 
let task1: taskpool.Task = new taskpool.Task(printArgs, 100); // 100: test number 
let task2: taskpool.Task = new taskpool.Task(printArgs, 200); // 200: test number 
let task3: taskpool.Task = new taskpool.Task(printArgs, 300); // 300: test number 
taskGroup2.addTask(task1); 
taskGroup2.addTask(task2); 
taskGroup2.addTask(task3); 
taskpool.execute(taskGroup1).then((res: Array<number>) => { 
  console.info("taskpool execute res is:" + res); 
}); 
taskpool.execute(taskGroup2).then((res: Array<number>) => { 
  console.info("taskpool execute res is:" + res); 
});
已于2024-2-4 13:53:35修改
分享
微博
QQ
微信
回复
2024-02-01 09:54:58
相关问题
如何获知TaskPool执行顺序、优先级?
699浏览 • 0回复 待解决
如何在构建任务执行shell脚本
270浏览 • 1回复 待解决
taskpool异步任务支持串行处理的方法
920浏览 • 1回复 待解决
TaskPool和Worker中任务调度机制
1862浏览 • 1回复 待解决
HarmonyOS线程池周期执行任务
959浏览 • 1回复 待解决
延迟任务什么时候会执行
1579浏览 • 1回复 待解决
HarmonyOS 怎么实现任务串行顺序执行
265浏览 • 1回复 待解决
延迟任务执行时机及运行线程
1998浏览 • 1回复 待解决