【发布时间】:2019-02-18 18:59:48
【问题描述】:
鉴于这段代码
fun main() {
val job = Job()
val scope = GlobalScope + job
scope.launch {
println("working!")
delay(1000L)is ms)
println("done!")
// how do i finish the job originally associated with this scope?
}
runBlocking {
job.join()
println("job done")
}
}
我的应用程序有一个自定义协程范围,并且我正在将一个工作与这个范围相关联,原因是我希望从这个范围创建的所有新协程都是这个工作的子级,如果我取消它我希望其中的所有内容都被取消。
但主要工作本身永远不会完成。任务完成后如何完成主要工作?还是失败了……
【问题讨论】: