별도의 코 루틴에서 여러 작업 인스턴스를 저장할 수 있습니까? 한 번에 두 개의 코 루틴을 실행하고 관련성이 없으며 하나의 코 루틴에서는 발생할 수 없지만 이들을 병렬로 실행하기를 원한다고 가정 해 봅시다. 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)
}
이러한 유형의 아키텍처는 coroutines에 적합한가?
이 방법을 사용하면 한 번에 하나의 상위 작업 만 수행 할 수 있습니다. 제 질문은 부모 직업 목록을 갖는 것입니다. 나는 내가 묻는 것에 대한 모범을 보였다. – BigApeWhat
내가 제공 한 코드는 원래 코드와 정확히 동일합니다. 창틀은 여러 작업을 실행하지만 여전히 목록에 보관됩니다. 시도 해봐.차이점은이 목록을 명시 적으로 관리 할 필요가 없다는 것입니다. 왜냐하면 모든 작업이 하위이며 부모가 자동으로 목록을 유지하기 때문입니다. –
UI 스레드에서 Job() 컨텍스트를 사용할 수 있습니까? – BigApeWhat