如何利用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
相关问题
延迟任务什么时候会执行
69浏览 • 1回复 待解决
延迟任务执行时机及运行线程
152浏览 • 1回复 待解决
TaskPool与Worker的区别
90浏览 • 1回复 待解决
如何申请多个长时任务
136浏览 • 1回复 待解决
如何利用鸿蒙做物联网网关
6335浏览 • 1回复 待解决
taskPool @Concurrent报红
478浏览 • 1回复 待解决
TaskPool里面是否可以使用EventHub
121浏览 • 1回复 待解决
taskPool的参数支持Function类型吗
78浏览 • 1回复 待解决
智能穿戴如何启用后台任务?
831浏览 • 1回复 待解决
如何实现定时任务有懂的吗?
526浏览 • 1回复 待解决
linux shell利用for语句依次输出
4394浏览 • 1回复 待解决
TaskPool是否可以访问静态成员
81浏览 • 1回复 待解决
如何执行点击某个组件的命令?
2266浏览 • 1回复 待解决
docker如何在后台执行jar代码?
600浏览 • 1回复 待解决
如何在openharmony中执行js脚本
766浏览 • 0回复 待解决