一文彻底搞懂Kotlin中的协程
产生背景为了解决异步线程产生的回调地狱协程是什么本质上,协程是轻量级的线程。可以看到很多地方都有实现Element,它主要目的是限制范围以及异常的处理。如果在active或Completing状态下出现取消或异常,则会进入Cancelling状态,如果需要取消父job和其他子job则会等待它们取消完成,此时只有isCancelled为true,取消完成后最终进入Cancelled状态,isCancelled和isCompleted都为true. CoroutineScope默认是不会阻塞当前线程的,如果需要阻塞可以使用runBlocking,如果在主线程执行下面代码,会出现2s白屏阻塞原理:执行runBlocking默认会创建BlockingCoroutine,而BlockingCoroutine中会一直执行一个循环,直到当前Job为isCompleted状态才会跳出循环总结
下载地址
用户评论