Notice
Recent Posts
Recent Comments
올해는 머신러닝이다.
[RxJava2] cold Observable? Hot Observable? 개념 설명 본문
일반적으로 Observable
들은 cold
상태인것들이다.
RxJava를 하다보면 많이 듣는 게 cold
와 hot Observable
이다.
도대체 이것들이 뭔가..
Cold Observable
- 일반적인 옵저버형태를 말한다.
- 누가 구독해주지 않으면 데이터를 배출을 하지 않는다.
- 일반적인 웹 요청 , 데이터베이스 쿼리등이 사용되며 내가 요청하면 결과를 받는 과정을 거친다.
- 처음부터 발행하는 걸 기본으로 한다.
Hot Observable
- 구독자의 존재 여부와 상관없이 데이터를 배출하는 Observable 이다.
- 그래서 여러 구독자에 선택적으로 고려가능하다.
- 구독시점으로부터 발행하는 값을 받는 걸 기본으로 한다.
- 마우스 이벤트 , 키보드 이벤트 , 시스템 이벤트등이 주로 사용된다.
- 멀티캐스팅도 포함된다.
데이터 발행자와 수신자도 이참에 정리해보자.
데이터 발행자 | 데이터 수신자 |
---|---|
Observable | Subscriber |
Single | Observer |
Maybe | Consumer |
Subject | |
Completable |
- Subscriber (구독자) : Observable 을 연결할 시 subscribe 함수를 사용하는데 이 과정에서 구독이 된다고 하여 구독자라고 부른다.
- Observer (옵저버) : 스타의 옵저버가 아니다. RxJava는 옵저버 패턴을 사용해서 늘 관찰하고 작업을 수행합니다. 발신자를 Observable 이 되고 데이터 수신자를 옵저버라고 한다.
- Consumer : Rxjava2 부터 소비자 패턴을 이용해서 소비를 시킨다. 이 패턴에 대해서 더 자세히 알아볼려면 클릭
일반덕으로 Observable 은 Code 성격이며 특별히 스트림을 Hot으로 변환하지 않으면 Code 상태이다
'스터디 > RxJava2' 카테고리의 다른 글
[Rxjava2]예제로 이해하는 PublishSubject (0) | 2017.10.22 |
---|---|
[RxJava2] Replaying , Caching 을 알아보자. (0) | 2017.10.22 |
[RxJava2]refCount 와 share 기본 개념 (0) | 2017.10.22 |
[RxJava2] publish <-> Connect 예제로 이해해보자. (0) | 2017.10.22 |
[RxJava2]Multicasting 기본 개념 이해 (0) | 2017.10.22 |