reactive programming introduction hot observablesby contrastpublish data whether there is an observer subscribed or not cold observables cold observable will not publish any data unless there is at least one observer subscribed to process that data in addition cold observable only provides data to an observer when that observer is ready to process the datathis is because the observable-observer relationship is more of pull relationship for examplegiven an observable that will generate set of values based on rangethen that observable will generate each result lazily when requested by an observer if the observer takes some time to process the data emitted by the observablethen the observable will wait until the observer is ready to process the data before emitting another value hot observables hot observables by contrast publish data whether there is an observer subscribed or not when an observer registers with the observableit will start to receive data at that pointas and when the observable publishes new data if the observable has already published previous data itemsthen these will have been lost and the observer will not receive that data the most common situation in which hot observable is created is when the source producer represents data that may be irrelevant if not processed immediately or may be superseded by subsequent data for exampledata published by stock market price data feed would fall into this category when an observable wraps around this data feed it can publish that data whether or not an observer is subscribed implications of hot and cold observables it is important to know whether you have hot or cold observable because this can impact on what you can assume about the data supplied to the observers and thus how you need to design your application if it is important that no data is lost then care is needed to ensure that the subscribers are in place before hot observable starts to publish data (where as this is not concern for cold observable