Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- Jetpack
- sourcetree
- homebrew
- programmers
- Version
- Algorithm
- library
- Database
- FRAGMENT
- Room
- git
- github
- Java
- leetcode
- IntelliJ
- Android
- rxjava
- Kotlin
- ReactiveProgramming
- androidstudio
- livedata
- Java8
- ViewModel
Archives
- Today
- Total
Learn & Run
RxJava - 예제를 통해 Reactive Streams 이해하기 본문
목표
Reactive Streams란 무엇인가 알아보도록 하고, 이것을 통해서 Reactive Programming에서 Data Flow가 어떻게 진행되는지 알아보고 이해하도록 합니다.
1. Reactive Streams의 정의
- Reactive Streams는 간단하게 비동기 스트림을 처리하는 표준을 제공하기 위한 것이라고 생각하면 된다.
- 참고 : www.reactive-streams.org/
2. Reactive Streams의 특징
- Reactive Streams의 인터페이스들을 구현한 구현체는 RxJava, RxKotlin, RxJS, RxScala등이 있다.
- 리액티브 프로그래밍에 대한 인터페이스(Publisher, Subscriber, Subscription, Processor)만 제공합니다.
- Publisher : 데이터를 생성하고 통지한다.
- Subscriber : 통지된 데이터를 전달받아서 처리한다.
- Subscription : 전달받을 데이터의 개수를 요청하고 구독을 해지한다.
- Processor : Publisher와 Subscriber의 기능을 모두 가지고 있다.
3. Publisher와 Subscriber의 흐름
4. Cold Publisher vs Hot Publisher
- Cold Publisher
- 생산자는 소비자가 구독 할때마다 데이터를 처음부터 새로 통지한다.
- 데이터를 통지하는 새로운 타임 라인이 생성된다.
- 소비자는 구독 시점과 상관없이 통지된 데이터를 처음부터 전달 받을 수 있다.
- Hot Publisher
- 생산자는 소비자 수와 상관없이 데이터를 한번만 통지한다.
- 데이터를 통지하는 타임라인은 오직 하나이다.
- 소비자는 발행된 데이터를 처음부터가 아닌, 구독한 시점부터 통지된 데이터만을 전달 받을 수 있다.
'Java' 카테고리의 다른 글
Java - 함수형 인터페이스와 람다 표현식 (0) | 2021.01.13 |
---|---|
RxJava - 또 다른 생산자 Single, Maybe와 Completable (0) | 2021.01.12 |
RxJava - 배압 전략(BackpressureStrategy)의 종류 (0) | 2021.01.08 |
RxJava - Flowable과 Observable 이해하기 (0) | 2021.01.08 |
RxJava - 예제를 통해 Reactive Programming 이해하기 (0) | 2021.01.06 |