取消运行协程的作业并重用该作业对象

时间:2020-08-18 16:47:40

标签: android kotlin kotlin-coroutines

我目前有一个执行某些过程的工作(这需要占用大量CPU,大约需要10秒钟)

但是我想在下一次调用executeProcess()时立即取消它。

private var myJob: Job? = null

fun executeProcess() {
    myJob?.cancel()
    myJob = scope.launch(Dispatchers.IO) {
        //doCPUIntensiveTask()
        //This is always Active!
        println("isActive $isActive ")
    }
}

如果我想重用同一作业对象,怎么办?如果不可能的话,还有其他解决方法吗?

1 个答案:

答案 0 :(得分:1)