Flow를 사용하다 보면 Cold Stream, Hot Stream 이란 용어를 들어볼 수 있습니다.
Cold Stream, Hot Stream의 차이점을 정리하겠습니다.
Cold Stream
- 하나의 소비자(Consumer)에게 값을 보냅니다.
- 생성된 이후에 누군가 소비하기 시작하면 데이터를 발행합니다.
예를 들어 상태가 변하지 않는 값을 읽을 때
데이터베이스를 읽거나 URL을 통해서 서버 값을 읽는 경우 Cold Stream으로 구현할 수 있습니다.
Hot Stream
- 하나 이상의 소비자(Consumer)에게 값을 보낼 수 있습니다.
- 데이터 발행이 시작된 이후 부터 모든 소비자에게 같은 데이터를 발행하고 구독자가 없는 경우에도 데이터를 발행합니다.
예를 들어 상태가 변하는 값을 읽을 때 네트워크 상태 정보 값을 얻어올 때 Hot Stream을 사용할 수 있습니다.
반응형
'Kotlin' 카테고리의 다른 글
[Kotlin] StateFlow subscriptionCount 구독자 수 확인 (0) | 2021.10.15 |
---|---|
[Kotlin] Type checks와 형변환(casts) (0) | 2021.10.06 |
Kotlin callbackFlow callback listener의 데이터를 Coroutines flow로 보내기 (0) | 2021.09.13 |
[Kotlin] 기본적인 구문 - 2 (0) | 2021.09.07 |
[Kotlin] 기본적인 구문 - 1 (0) | 2021.09.03 |
Kotlin companion object(동반 객체) (0) | 2020.05.20 |