【发布时间】:2023-03-11 14:18:01
【问题描述】:
是否可以从单独的协程中保存多个作业实例。假设我想一次运行几个协程,它们不相关并且不能在一个协程中发生,但我希望它们并行运行。在 Android 中,我应该保存作业实例,以便我可以在 onDestroy 方法中取消作业。将每个工作单独保存在列表中是否可以接受,或者我是否违反了某种规则。我知道在 RX 中他们有订阅,为什么 Kotlin 协程中没有等价的?
val jobList = arrayListOf<Job>()
fun startJob1() {
jobList.add(launch {
//do some work
})
fun startJob1() {
jobList.add(launch {
//do some other unrelated work
})
override fun onDestroy() {
super.onDestroy()
cancelAllActiveJobs(jobList)
}
这种架构对协程有意义吗?
【问题讨论】:
标签: android kotlin kotlin-coroutines