在Kotlin中编写Android应用程序时,我使用Timer.schedule
和TimerTask
类。但是,Timer.schedule
启动了两个任务。
这是我的代码:
var count = 0
val timer = Timer()
val task = object : TimerTask() {
override fun run() {
println("${this} : $count")
count++
}
}
timer.schedule(task, 0, 1000)
我的代码给了我这个结果:
PackageName.ClassName$task@f4bd15 : 0
PackageName.ClassName$task@3651fb6 : 0
PackageName.ClassName$task@f4bd15 : 1
PackageName.ClassName$task@3651fb6 : 1
PackageName.ClassName$task@f4bd15 : 2
PackageName.ClassName$task@3651fb6 : 2
...
它将启动两个任务。当我尝试task.cancel
时,只有一项任务被取消。另一个还活着。
我怎么只能开始一项任务?