Coroutine 개요

이성민·2024년 12월 9일
0

안드로이드

목록 보기
13/19

앱 개발을 하다보면 비동기 처리의 필요성을 깨닫는 순간이 온다. AsyncTask, Handler, RxJava 등 다양한 방법들이 있고, 각각 장단점이 존재하지만 2024년 현재 기준 Coroutine 이 가장 효율적이고, 핫한 기술스택이기에 이에 대한 정리를 시작해보고자 한다.

코루틴의 특징

경량성

수천 개의 코루틴을 생성해도 성능에 큰 영향을 주지 않는다.

비동기적 코드의 동기적 표현

콜백 지옥 없이 순차적인 코드 흐름으로 비동기 작업을 표현할 수 있다.

구조화된 동시성

코드 구조를 간단하게 유지하면서 복잡한 비동기 작업을 처리할 수 있다.

코루틴은 비동기 작업을 쉽게 처리하기 위한 경량 스레드라고 생각 할 수 있다. 코틀린의 코루틴은 실제 스레드를 차지하지 않으면서도 비동기 작업을 수행할 수 있다. 비동기 프로그래밍의 복잡함을 줄이고, 코드가 동기적으로 실행되는 것 처럼 보이면서도 효율적인 비동기 작업을 가능하게 해준다.

코루틴을 사용할 땐 세가지 순서를 기억하자!

  1. 어떤 Thread 에서 실행할 것인지 정한다.
    1) Job
    2) Dispatchers
    (Dispatchers.Main, Dispatchers.IO, Dispatchers.Default)

  2. 코루틴이 실행될 Scope를 정한다.
    1) CoroutineScope
    2) GlobalScope
    3) ViewModelScope
    4) LifecycleScope
    5) LiveData

  3. Builder를 이용하여 코루틴을 실행한다.
    1) launch
    2) async
    3) withContext
    4) runBlocking

= Context로 Scope를 만들고 Builder를 이용하여 코루틴을 실행


오늘 포스트에는 코루틴에 대한 개요를 간단하게 정리하고 앞으로 어떤 부분을 공부하여 글을 올릴지 정리만 하였다.

앞으로 context, scope, builder 에 관하여 자세히 공부하고, 동작 방식 및 실제 실무에
어떠한 방식으로 적용해야 할지에 대해 계속 정리해보도록 하겠다.

profile
Android Developer 이성민입니다

0개의 댓글