Structured Concurrency

Language/Kotlin

Structured Concurrency in Coroutines

이번 글에서는 구조적 동시성(Structured Concurrency)의 특징을 정리해본다. 1. 모든 코루틴은 제한된 수명이 있는 위치에서 시작되어야 한다.가장 대표적인 예로 Activity가 될 수 있다. RxJava에서는 특정 시점에서 disposable을 모아 처리해야 하는데컴파일러는 개발자가 처리하는 코드를 작성하지 않아도 경고하지 않는다. 이렇게 clear 혹은 cancel의 과정이 없다면OOM(Out Of Memory) 에러 혹은 앱 크래시가 발생할 수 있을 것이다. 반면에 코루틴을 사용할 때 예시로 사용했던 코드를 보면 viewModelScope가 있다. 이 스코프는 ViewModel 수명에 엮여있다. 따라서 ViewModel이 수명에 따라 clear될 때,viewModelScope에서 실..

BonusTrack02.dev
'Structured Concurrency' 태그의 글 목록