程序结束时 , 执行实现了 Closeable 对象的的 close 方法 , 该操作适合文件对象关闭文件使用 ;
use 函数原型如下 :
/**
* 在这个资源上执行给定的[block]函数,然后正确关闭它...,不管是否异常
* 是否被抛出。..., 则 挂起函数以及之后的代码将不会被执行 ;
如下代码 :
val job1 = coroutineScope.launch {
try {
Log.i(TAG, "协程任务执行开始...job1.cancelAndJoin()
Log.i(TAG, "退出协程作用域")
}
}
}
执行结果 : finally 代码块中存在挂起函数...----
使用 withTimeout 函数 , 可以构造超时取消的协程任务 , 在下面的代码中 , 构造的协程任务 , 超时 1000 ms 就会自动取消 , 如果超时则报 kotlinx.coroutines.TimeoutCancellationException