HarmonyOS 线程池在应用前后台切换后,是如何执行的

let ff = () => {
  taskpool.execute(timerTasks, ohguard, false).then((value: Object) => {
    Logger.logan("NativeLoop success2:" + JSON.stringify(value));
  }).catch((err: BusinessError) => {
    Logger.logan("NativeLoop execute err2:" + JSON.stringify(err));
  });
}
setInterval(ff, 60 * 1000);

目的是每分钟执行一次。现在有这样一个问题,假设当前有一个任务A在执行,则应用被切换到后台了,任务可能被暂停……那么此时,setInterval(ff, 60 * 1000)。是否会继续计时?等下一个一分钟时,有一个任务B,应用被切换到前台后,是不是可能存在,两个任务A、B都在执行?

HarmonyOS
2024-12-23 14:40:25
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
aquaa

未开启长时任务,程序放在后台后,setInterval执行最后一次任务之后就会停止运行被挂起。应用被挂起后,不是立马回收资源,只是任务停止运行应用挂起,比如应用setInterval仍在。等待一段时间后回到前台,应用恢复将继续执行任务,但在后台的等待时间内并不会执行任务。需要申请长时任务,只要开了长时任务并成功触发条件,在后台和锁屏才可以成功执行任务。

分享
微博
QQ
微信
回复
2024-12-23 18:23:45
相关问题
Component如何监听应用前后台切换
2593浏览 • 1回复 待解决
HSP如何感知前后台切换
3074浏览 • 1回复 待解决
HarmonyOS应用前后台状态切换事件监听
2123浏览 • 1回复 待解决
HarmonyOS 相机模块前后台切换
991浏览 • 1回复 待解决
HarmonyOS线程周期执行任务
2445浏览 • 1回复 待解决
HarmonyOS 前后台进程切换时机
1035浏览 • 1回复 待解决
有监听应用前后台状态切换api吗
2608浏览 • 1回复 待解决
HarmonyOS 组件如何感知app前后台切换
1490浏览 • 1回复 待解决
如何在组件中监听App前后台切换
1562浏览 • 1回复 待解决
如何判断应用处于前后台
1497浏览 • 1回复 待解决
线程线程个数限制
7253浏览 • 1回复 待解决
数据库连接线程安全吗?
3590浏览 • 1回复 待解决
HarmonyOS线程使用崩溃
1482浏览 • 1回复 待解决
HarmonyOS 线程使用策略咨询
1074浏览 • 1回复 待解决