При написании приложения для Android на Kotlin я использую классы 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
, только одна задача была отменена. Другой еще жив.
Как запустить только одно задание?