在不同的协程中保存多个作业实例是否可行?假设我想同时运行几个不相关且不能在一个协程中发生的协程,但我希望它们并行运行。在Android中,我应该保存作业实例,以便在onDestroy方法中取消作业。将每个作业单独保存在列表中是否可接受,还是违反了某些规则。我知道在RX中有订阅,为什么Kotlin Coroutines中没有相应的功能?
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)
}
这种架构对于协程有意义吗?
launch(UI + job)
。 - Roman Elizarov