引言
由于项目中有处理大量后台任务并且串行
执行的需求,特意写了一个简易的任务调度器,方便监控每个任务执行和异常情况,任务之间互不影响。正如上所述,Kotlin中的TaskScheduler类提供了一个强大的解决方案,用于使用ScheduledExecutorService异步地排队和执行任务。
使用方法
1.初始化:
val taskListener = object : TaskScheduler.TaskListener {
override fun beforeExecute(task: TaskScheduler.NamedRunnable) {
println("开始任务:${
task.name}")
}
override fun afterExecute(task: TaskScheduler.NamedRunnable, exception: Exception?) {
println("完成任务:${
task.name},异常:$exception")
}
}
val scheduler = TaskScheduler(taskListener, 5)
2.提交任务:
scheduler.submit("加载数据"