코루틴, Coroutine 이란?

shin_stealer·2021년 3월 23일
0

본 게시글은 안드로이드 공식문서를 번역, 참조하여 개인적으로 공부하는 자료입니다. 틀린 내용이 있을 수 있으니 유의바랍니다.

Coroutine 이란?

Coroutine 은 안드로이드의 비동기 동작을 하는 코드를 단순화 할 수 있는 동시성 디자인 패턴이다.

안드로이드에서, coroutine 은 메인 스래드를 방해할 수 있는 오래 지속해야하는 작업들, app을 무응답 상태로 만들 수 있는 작업들을 관리하는 것을 도와준다. 코루틴을 사용한 50%가 넘는 전문 개발자로부터 코드의 생산성이 향상되었다고 보고되었다. 이런 결과는 coroutine을 사용해서 문제 해결, 깔끔한 코드를 작성하는데 얼마나 도움이 되는지 보여주고 있다.

비동기 처리를 굉장히 쉽게 구현할 수 있게 도와주는 라이브러리이다.

Coroutine의 특징

코루틴은 안드로이드에서 비동기적 프로그래밍을 효과적으로 다룰 수 있는 솔루션입니다.

  1. Lightweight
    suspension을 서포트하기 때문에 하나의 스레드에 많은 코루틴을 사용할 수 있습니다. 코루틴이 작동하는 동안에는 스레드를 방해하지 않습니다. Suspending은 메모리가 over blocking 되는 것을 막아주고 동시에 작동되는 작업들을 지원합니다.

  2. Fewer memory leaks
    메모리 낭비를 더 줄인다.
    structed concurrency를 사용하면 scope 안에서만 작동하기 때문에.

  3. Built-in cancellation support
    cancellation 이 코루틴의 체계를 통해서 자동으로 전파된다.

  4. Jetpack Integration
    많은 Jepack의 라이브러리들은 coroutine과 호환되도록 만들어져있다.

코루틴의 기본 컨셉

profile
I am a Blacksmith.

0개의 댓글