kotlin协程的Job和SupervisorJob的一些笔记
作者:
带带大湿兄 | 来源:发表于
2020-08-12 18:41 被阅读0次
-
Job
是协程的默认context
- 子协程不会继承父协程的
context
,会使用默认值
- 协程的上下文为
SupervisorJob
时,该协程中的异常不会向外传播,因此不会影响其父亲/兄弟协程,也不会被其兄弟协程抛出的异常影响
- 正确使用SupervisorJob的方法
// job1、job2、job3和job4的上下文都是SupervisorJob
val scope = CoroutineScope(SupervisorJob())
job1 = scope.launch {...}
job2 = scope.launch {...}
supervisorScope {
job3 = launch {...}
job4 = launch {...}
}
-
launch(SupervisorJob()){...}
只会使该协程的上下文变为SupervisorJob
,其大括号内部的上下文依然是Job
本文标题:kotlin协程的Job和SupervisorJob的一些笔记
本文链接:https://www.haomeiwen.com/subject/mueidktx.html
网友评论