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
2024-11-25 08:43:00
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
put_get

在taskpool等待队列中的任务,取消该任务后该任务将不再执行,并返回undefined作为结果,若任务已经在taskpool工作线程执行,取消该任务并不影响任务继续执行,执行结果在catch分支返回,taskpool主要是为应用程序提供一个多线程的运行环境,因为taskPool的工作线程会绑定系统的调度优先级,所以建议在需要设置优先级的任务场景下使用,如:图库直方图绘制场景,或者需要频繁取消的任务,如:图库大图浏览场景。

分享
微博
QQ
微信
回复
2024-11-25 17:35:29
相关问题
HarmonyOS taskpool线程数量问题
53浏览 • 0回复 待解决
HarmonyOS taskPool线程task入参问题
35浏览 • 1回复 待解决
HarmonyOS线程周期执行任务
1097浏览 • 1回复 待解决
如何利用taskpool执行多任务
2074浏览 • 1回复 待解决
后台长时任务启动失败
2203浏览 • 1回复 待解决
taskpool异步任务支持串行处理的方法
1068浏览 • 1回复 待解决
TaskPool和Worker中任务调度机制
1962浏览 • 1回复 待解决
后台长时任务启动失败报错码201
2348浏览 • 1回复 待解决