[kotlin] 코틀린(Kotlin) Flow를 활용한 비동기 프로그래밍 예제

개요

코틀린 표준 라이브러리에 추가된 Flow 는 비동기 작업을 쉽게 처리할 수 있는 기능을 제공합니다. 이번 포스트에서는 Flow 를 사용하여 비동기 프로그래밍을 하는 방법을 알아보겠습니다.

Flow란?

Flow 는 값을 비동기적으로 방출하는 비동기 시퀀스를 나타내는 코틀린의 새로운 API입니다. 이는 값을 연속적으로 방출하는 스트림과 유사하지만, 이벤트 리스너와 콜백을 사용하지 않고 값들을 전달할 수 있습니다.

Flow 예제

다음은 코루틴을 사용하여 간단한 Flow 를 생성하고 사용하는 예제입니다.

import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.flow
import kotlinx.coroutines.flow.collect
import kotlinx.coroutines.flow.flowOf
import kotlinx.coroutines.delay
import kotlinx.coroutines.runBlocking

fun simpleFlow(): Flow<Int> = flow {
    for (i in 1..3) {
        delay(100)
        emit(i)
    }
}

fun main() = runBlocking {
    simpleFlow().collect { value -> println(value) }
}

실행 결과

위 예제를 실행하면 1, 2, 3이 각각 0.1초 간격으로 출력됩니다.

결론

코틀린의 Flow 를 이용하면 비동기 작업을 쉽게 처리할 수 있으며, Flow 의 활용으로 앱의 성능을 향상시킬 수 있습니다. Flow 에 대해 더 알고 싶다면, 공식 문서와 안드로이드 개발자 사이트를 참고해보세요!

참고 자료