启动模式那块说的好像有点问题。
来源: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
相似问题