Kotlin Coroutines

Kotlin Coroutines

Updated 2026. 2. 6.

Chapter 1
Avatarby taehwandev
@taehwandev
almost 7 years ago

Android에서 사용하는 CoroutineScope을 알아보자

Kotlin coroutines은 기존 Java Thread, 안드로이드에서 제공하는 AsyncTask, ReactiveX 패러다임을 일부 구현한 RxJava를 대신할 수 있는 Asynchronous/Non-blocking programming을 제공한다. 참고로 기존에 작성하였던 글에서 Kotlin Coroutines을 알아보고, 안드로이드에 librar

00
Chapter 2
Avatarby taehwandev
@taehwandev
almost 7 years ago

Kotlin Coroutines의 Job 동작을 알아보자

Kotlin Coroutines을 컨트롤하기 위한 Job을 제공해준다. 이 Job은 N 개의 coroutines의 동작을 제어할 수도 있으며, 하나의 coroutines 동작을 제어할 수도 있다. 먼저 Job이 어떤 것인지 알아보고, exception 발생 케이스를 함께 알아보겠다. Job Coroutines의 Job은 결국 coroutines의 상태를 가

00
Chapter 3
Avatarby taehwandev
@taehwandev
almost 7 years ago

Kotlin Coroutines Exception 영향도 알아보기

이전 글에서 Kotlin coroutines을 제어할 수 있는 Job에 대해 알아보았다. 기본적인 Job 초기화 후 사용한데 어떤 방법이 좋을까? 먼저 이전 글에서 초기화 때 적용했던 방법을 다시 살펴보자. 이 코드는 CoroutineScope 초기화 시 Job을 함께 초기화하여 사용한다.(+를 이용하여 초기화한다.) 이렇게 초기화 함에 따라 Corouti

00
Chapter 4
Avatarby taehwandev
@taehwandev
over 6 years ago

RxJava와 Coroutines을 간단하게 알아보자.

약 1년 전 Coroutines을 처음 다루었고, RxJava에 대해서 조금 익숙하게 사용할 시점에 작성했던 글이다. 그간 지원은 다음과 같다. 2019 Google I/O에서 Coroutines을 적극 도입하기로 하였고, ViewModel/LiveData 등을 위한 CoroutineScope을 제공하고, Coroutines에서도 RxJava Cold Ob

00
Chapter 5
Avatarby taehwandev
@taehwandev
over 5 years ago

Callback으로 받은 데이터를 Coroutines에서 활용하는 방법! Flow 활용

Callback Listener에서 전달되어오는 값을 Coroutines Flow에 전달하려면 어떻게 할 수 있을까?에서 시작한 고민을 글로 정리해 둔다. 이 글은 Flow에 대한 설명을 하지는 않을 것이지만 이를 해결하기 위해 사용한 방법은 아래와 같다. Callback으로 들어온 값은 Coroutines의 suspend가 아니다. flow에 emit 하

00
Chapter 6
Avatarby taehwandev
@taehwandev
about 5 years ago

Kotlin Coroutines의 GlobalScope을 어떻게 사용할 수 있을까? - 사실 추천하지 않는다.

코루틴의 runBlocking에 대해서 이야기했다. Kotlin Coroutines의 runBlocking은 언제 써야 할까? 잘 알고 활용하자! 결국 잘 알고 사용하는 건 문제가 없다. 역시나 잘 못 알고 사용하는 경우라면 사실 사용치 않는 게 맞는다고 생각한다. 이번 글은 코루틴 관련 2 번째 글로 GlobalScope에 대해서 알아보려고 한다. 이 역

00
Chapter 7
Avatarby taehwandev
@taehwandev
about 5 years ago

Kotlin CoroutineScope을 알아보고, cancel 처리에 대해서 알아보자.

runBlocking과 GlobalScope에 대해서 알아보았다. Kotlin Coroutines의 runBlocking은 언제 써야 할까? 잘 알고 활용하자! Kotlin Coroutines의 GlobalScope을 어떻게 사용할 수 있을까? - 사실 추천하지 않는다. 이 두 가지의 코루틴은 이유 없이 사용해서는 안 되는 것들이다. 그럼 사용할 수 있는

00
Chapter 8
Avatarby taehwandev
@taehwandev
about 5 years ago

Retrofit2와 Coroutines 사용 시 스케줄러는 어떻게 처리할까? - 내부 코드로 알아보자.

Retrofit 사용 시 알아두면 좋은 것이라는 주제로 만든 영상이다. 별건 아니고, Retrofit의 통신 방식 중 coroutines을 활용했을때 알아두면 좋은 부분을 정리했던 영상이다. 이 글에서 텍스트로 한 번 더 정리하고, 이 글에 도움 될 문서는 아래와 같다. \ 이 글에서 알아볼 내용 Corotuines과 Retrofit2을 함께 사용할 때 스

00
Chapter 9
Avatarby taehwandev
@taehwandev
over 4 years ago

Kotlin coroutine suspend? 디컴파일을 통해 알아보자.

Kotlin 코루틴에는 suspend 함수를 활용할 수 있습니다. suspend가 추가되면 코루틴에서 동작하도록 강제하게 되는데 단순 강제만은 아닙니다. 코루틴이 종료되면 suspend 함수 역시 종료되어야 합니다.(suspend를 활용한다고 무조건 종료하는 것은 아닌데, 다음에 별도로 작성해보겠다.) 이번 글은 아래의 suspend 함수를 디컴파일해보고,

00
Chapter 10
Avatarby taehwandev
@taehwandev
about 5 years ago

Callback으로 전달받은 데이터를 Coroutines의 Channel로 처리해보자.

Callback 이벤트로 받은 데이터를 Coroutines의 Flow를 활용한 방법에 대해서 소개했었다. 최근 Medium에서 Channel을 사용한 방법을 소개한 글이 있어 Channel을 사용하는 방법을 정리해보려고 한다. 여기에서 사용한 샘플은 단순한 테스트를 한 것이고, 네트워크가 포함되어 있지 않다. 다만 단순한 테스트로도 발생하는 문제가 있어 정

00
Chapter 11
Avatarby taehwandev
@taehwandev
almost 3 years ago

Kotlin flow의 예외 처리(catch), 재시도(retry, retryWhen) 살펴보기

kotlin coroutines을 활용한 exception은 매우 쉽다. launch 안에 try/catch 묶어야 함이 중요하다. coroutines의 장점 역시 우리가 항상 사용하는 함수만 이해하면 코루틴을 활용할 수 있다는 점이다. 그렇다면 Flow에서의 예외 처리는 어떻게 할 수 있을까? 가장 기본적으론 아래와 같이 할 수 있다. flow 같진 않지

00
Chapter 12
Avatarby taehwandev
@taehwandev
over 2 years ago

Android에서 flow를 통한 실시간 데이터 갱신에 대한 정리

작성한 GitHubUserSearch 소스를 기반으로 flow를 통해 실시간 데이터 갱신하는 방법에 대해 정리해 본다. 이 방식을 사용하면 데이터를 다시 부르기 위한 형태가 필요치 않고, 실시간 데이터를 지속적으로 받을 수 있는 장점이 생긴다. 여기에서 설명하는 코드는 매뉴얼 인젝션을 사용한 코드이다. 이 글에서 알아볼 내용 coroutines + flow

00
Chapter 13
Avatarby taehwandev
@taehwandev
over 1 year ago

(😨 오류 정정) 🤔 2025년도에도 개발자들은 코루틴 예외 처리 때문에 밤샘각? 😨 (2025학년도 안드로이드 탐구영역 문제풀이)

이 글은 2025 안드로이드 탐구 영역에 나온 문제 중 일부를 해석하는 글의 형태로 작성합니다. 문제 전체를 담지 않고, 중요한 해설을 작성합니다. 정정 24.12.11 해석에 오류가 있으며, 코드 검증 과정에서 오류를 확인하여 수정합니다. 댓글로 오류가 있다고 알려주신 Larry, 송준영님 감사합니다. 안드로이드 탐구 영역 후기 글 어떤 문제일까? 코루틴

00
Chapter 14
Avatarby taehwandev
@taehwandev
about 1 year ago

😱 2025 안드로이드 탐구영역, Coroutines Flow 때문에?! (feat. 쉬운 해설)

이 글은 2025 안드로이드 탐구 영역에 나온 문제 중 flow와 관련한 문제를 해석한 글이다. 안드로이드 탐구 영역 후기 글 무슨 문제인가? 코루틴 flow에 대한 문제가 크게 2문제가 있었다. 이 중 코루틴 영역에 포함한 1개의 문제를 살펴보려 한다. 이 문제는 StateFlow와 flow {}를 복합적으로 사용하는 문제이다. 이 문제에 나오는 Flow

00