Cold
- 구독할 때마다 새로운 시퀀스가 생긴다.
- 여기서 구독은 subscribe() 가 호출되는 것을 말함.
- 옵저버는 시퀀스의 전체 이벤트를 처음부터 받는다.
- =
Subscription Code 가 새로 실행된다.
- 예시) 웹요청, 데이터베이스 쿼리 등 내가 요청하면 결과를 받는 과정
Hot
- 구독과 관계없이 이벤트가 방출된다.
- 기본적으로 구독자는 시퀀스의 처음이 아니라면 구독 시점으로부터 방출된 값을 받는다
- start observing the sequence somewhere in the middle.
- 멀티캐스트된다. 리소스를 공유할 수 있다.
- RxSwift 는 Hot Observable 을
ConnectableObservable 로 제공한다.
Cold 를 Hot 으로 변경하는 방법
- Connectable 로 만든다
- 옵저버를 Subject 나 Relay 에 구독시킨다.
참고자료
Observable
[RxJava2] Cold Observable과 Hot Observable, 그리고 Subject
Rxswift기초 - Hot vs Cold Observable