在HarmonyOS开发中@ohos.taskpool(启动任务池)?
@Concurrent
function printArgs(args: number): number {
console.info("printArgs: " + args);
return args;
}
taskpool.execute(printArgs, 100).then((value: Object) => { // 100: test number
console.info("taskpool result: " + value);
});
如果丢进去的任务是网络请求的下载,是用taskpool cancel取消了这个下载任务,实际上下载的请求并没有被停止吧?只是taskpoll没了这个任务 但是下载不会被中止对吗?什么样的场景使用taskpoll比较合理。
本文参与了 【 HarmonyOS NEXT 技术问答冲榜,等你来战!】欢迎正在阅读的你也加入。
在taskpool等待队列中的任务,取消该任务后该任务将不再执行,并返回undefined作为结果,若任务已经在taskpool工作线程执行,取消该任务并不影响任务继续执行,执行结果在catch分支返回,taskpool主要是为应用程序提供一个多线程的运行环境,因为taskPool的工作线程会绑定系统的调度优先级,所以建议在需要设置优先级的任务场景下使用,如:图库直方图绘制场景,或者需要频繁取消的任务,如:图库大图浏览场景。
本文参与了 【 HarmonyOS NEXT 技术问答冲榜,等你来战!】欢迎正在阅读的你也加入。