Shuntiger Tech Diary

iOS/Androidエンジニアが気になる技術やガジェットなどを気のままお届けするブログ

Hot / Coldの性質についてまとめ。

きっかけ

下記のスライドが読んだらHot / Coldが少しわかった。

参考

・今日こそ理解するHot / Cold @社内RxSwift勉強会
https://www.slideshare.net/yukitakahashi3139241/hot-cold

前提知識

・Hot/Coldは「Observable」の性質
・各種Operator(を表すクラス)は「Observable」である

Hot / Coldの見分け方

・SubjectはHotである

・ほとんどのOperatorはColdである

map,filterなどはCold

・publishなど一部のOperatorはHot

Hotに関連するオペレーター以下のみ。

・multicast / publish

・replay / replayAll

・connect / refCount

・share / shareReplay

・shareReplayLatestWhileConnected

Coldの性質

ColdなObservableはsubscribeされるまで動作しない

ColdなObservableは分岐できない

Hotの性質

HotなObservableはsubscribeされなくても動作する

HotなObserbavleは前のColdを稼働させる

HotなObservableは分岐できる

分岐 = Observerを複数持てる

HotなObservableのイベントは各Observerで共有される