В настоящее время у меня есть работа, которая выполняет какой-то процесс (это немного интенсивно, занимает около 10 секунд)
Но я хотел бы немедленно отменить его, когда придет следующий вызов executeProcess ().
private var myJob: Job? = null
fun executeProcess() {
myJob?.cancel()
myJob = scope.launch(Dispatchers.IO) {
//doCPUIntensiveTask()
//This is always Active!
println("isActive $isActive ")
}
}
Как это возможно, если я хочу повторно использовать один и тот же объект задания? если это невозможно, есть ли альтернативное решение?
launchпорождает новую работу, и вы заменяете ее новой, вы все делаете правильно, так в чем конкретно ваша проблема? - person Pawel   schedule 18.08.2020