Android Develop
[개발글 링크] Kotlin Coroutines의 GlobalScope을 어떻게 사용할 수 있을까? - 사실 추천하지 않는다.
taehwan
2020. 12. 22. 18:39
코루틴의 runBlocking에 대해서 이야기했다. Kotlin Coroutines의 runBlocking은 언제 써야 할까? 잘 알고 활용하자! 결국 잘 알고 사용하는 건 문제가 없다. 역시나 잘 못 알고 사용하는 경우라면 사실 사용치 않는 게 맞는다고 생각한다.
이번 글은 코루틴 관련 2 번째 글로 GlobalScope에 대해서 알아보려고 한다.
이 역시 Android 개발에서는 lifecycle과 관련이 깊다. 일반적인 서버나 웹에서도 역시 GlobalScope을 무작정 사용하는 건 맞지 않을 것이다.
CoroutineScope은 각각의 라이프 사이클을 별도로 가지고 종료를 할 수 있는 반면 GlobalScope은 싱글톤으로 만들어져있어, 잘못 활용한다면 프로그램 전체에 악영향을 미칠 수 있다.
싱글톤 자체만으로도 사실 악영향을 미칠 수 있는데, GlobalScope을 이용해 새로운 컨텍스트를 만들어 사용하는 케이스도 있다.
결국 상황에 따라 잘 활용하면 이득을 볼 수 있으니 이 글에서는 GlobalScope에 대해서 좀 더 알아보려고 한다.
이 글에서 알아볼 내용
- GlobalScope의 내부 코드를 살펴본다.
- GlobalScope을 이용한 Android UI 코드를 살펴본다.
- GlobalScope을 사용할 때 그나마 할 수 있는 예외를 살펴본다.