所有暂停功能都有工作吗?

时间:2018-05-05 14:42:06

标签: kotlin kotlinx.coroutines

coroutineContext[Job]!!函数中使用suspend是否安全?所有暂停功能都有作业吗?

1 个答案:

答案 0 :(得分:1)

不,并非所有暂停功能都有工作。

coroutineContext是通用的Kotlin机制,通过suspend调用链透明地传递与coroutines相关的对象,Jobkotlinx.coroutines特定的抽象。

如果您通过支持kotlinx.coroutines的任何Job构建器启动了协程(例如使用asynclaunchproduce。您可以查看具体情况构建器文档以检查它是否支持Job),然后Job中有coroutineContext

但如果您以其他方式启动协程,例如使用stdlib buildSequence,然后协程上下文将不包含作业。