当前位置:嗨网首页>书籍在线阅读

11-协程取消

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

12.3.5 协程取消

每一个协程都可以被看作是一个任务,可以在协程外部控制它的运行。如果要取消协程,则可以使用cancel()函数。

fun main(args: Array<String>) = runBlocking<Unit> { 
    val job = launch(CommonPool) {  
        delay(1000L) 
        println("World!") 
    } 
    println("Hello,") 
    job.cancel()  
}

调用job.cancel可以直接终止job的执行,如果job已经执行完毕,那么调用job.cancel的执行将变得没有意义,否则可以根据cancel的返回值来判断是否取消成功。