如何利用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和Worker中任务调度机制
152浏览 • 1回复 待解决
延迟任务什么时候会执行
201浏览 • 1回复 待解决
延迟任务执行时机及运行线程
310浏览 • 1回复 待解决
TaskPool线程内存如何共享
200浏览 • 1回复 待解决
如何利用鸿蒙做物联网网关
6544浏览 • 1回复 待解决
TaskPool子线程和主线程如何通信
150浏览 • 1回复 待解决
如何申请多个长时任务
260浏览 • 1回复 待解决
taskPool @Concurrent报红
716浏览 • 1回复 待解决
TaskPool与Worker的区别
216浏览 • 1回复 待解决
linux shell利用for语句依次输出
4517浏览 • 1回复 待解决
如何确认延迟任务是否申请成功
145浏览 • 1回复 待解决
如何实现定时任务有懂的吗?
782浏览 • 1回复 待解决
如何执行点击某个组件的命令?
2385浏览 • 1回复 待解决
TaskPool是否可以访问静态成员
193浏览 • 1回复 待解决
TaskPool和Worker的异同点
223浏览 • 1回复 待解决