Android

[Android] 코루틴이란 무엇인가.

plzyhappy 2022. 5. 17. 11:38

코루틴을 알기 전에 먼저 스레드에 대해 알아야 한다.

스레드란 하나의 프로세스 내에서 일하는 작업 단위라고 생각하면 된다.

Android에서는 비즈니스 로직을 UI 스레드에 쓰면 안 되고 Work스레드에 써야 하는 건 다들 알 고 있을 것이다.

이때 Work스레드를 이용하는 방법에는 여러 가지가 있다.

ex) rx , coroutine

하지만 정확히 말하자면 코루틴과 스레드는 다른 개념이다.

코루틴과 스레드의 차이

  • 코루틴은 하나의 실행이 시작할 때부터 끝날 때까지의 주기를 나타낸다고 한다면
  • 스레드는 그 일이 실행되는 곳이다.
    그래서 하나의 스레드에 여러 코 루틴이 존재할 수 있다.

코루틴 이란.

코루틴을 처음 들었을 때 kotlin + 루틴 해서 코 루틴인 줄 아는 사람들이 있을 것이다.

하지만 그것은 틀렸다.

co(동시에)라는 뜻을 가지고 있어, 동시성을 의미한다. 동시성 프로그래밍 개념을 kotlin에 도입한 것이다.

Android에서 코 루틴이란 비동기적으로 실행되는 코드를 간소화하기 위해 Android에서 사용할 수 있는 동시 설계 패턴이라고 한다.

 

간단하게 코루틴이 뭔지에 대해 알아봤다.

다음 포스팅에서는 코 루틴을 어떻게 쓸 수 있을지에 포스팅해야겠다.

 

레퍼런스

https://developer.android.com/kotlin/coroutines?hl=ko

https://blog.yena.io/studynote/2020/04/26/Android-Kotlin-Coroutine.html