何时何地调用scheduleatfixedrate()

ni65a41a  于 2021-06-27  发布在  Java
关注(0)|答案(0)|浏览(253)

我想执行一个后台任务,而应用程序正在运行,这个任务应该执行(例如)每5分钟,为此我想我会使用 scheduleAtFixedRate()ScheduledThreadPoolExecutor 班级。
但问题是在代码中的什么地方可以这样做??我的理解是,一旦我调用这个方法,它就可以无限期地执行任务(https://docs.oracle.com/en/java/javase/14/docs/api/java.base/java/util/concurrent/scheduledthreadpoolexecutor.html#scheduleatfixedrate(java.lang.runnable,long,long,java.util.concurrent.timeunit)),所以只调用一次方法就足够了。
首先我想把它放进去 onCreate() 方法 Application 班级。但即使这个方法也会被多次调用(service/broadcastmanager会导致多次调用)。
然后我想创造一个 class 在里面 class 这个 static variable : static ScheduledFuture a = someVariable.scheduleAtFixedRate​(()->{some work},50L,250L,TimeUnit.SECONDS); 但这似乎不是正确的方法。
所以我的问题是如何做到这一点?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题