启动模式那块说的好像有点问题。
来源:13-1 协程框架概述
慕前端9039556
2020-11-24
如果调度器为Dispatchers.Main.immediate. 在主线程中启动launch ,即使启动模式default。那么第一个resume也永远不会被cancel
lifecycleScope.launch(start = CoroutineStart.DEFAULT){
log(Thread.currentThread().name+"================1111=================")
log(Thread.currentThread().name+"================2222=================")
log(Thread.currentThread().name+"================3333=================")
log(Thread.currentThread().name+"================4444=================")
log(Thread.currentThread().name+"================5555=================")
Thread.sleep(100)
log(Thread.currentThread().name+"================6666=================")
log(Thread.currentThread().name+"================7777=================")
log(Thread.currentThread().name+"================8888=================")
log(Thread.currentThread().name+"================9999=================")
}.cancel()结果是全部打印出来。
写回答
1回答
-
immediate 是直接执行,所以应该取消不了
012020-11-25
相似问题