→ 구독을 공유하는 주체 : Observable

공유해서 사용하지 않는 겨우의 문제점

→ 여러 곳에서 subscribe를 사용한다면 동기화에 문제 발생

class ShareExample{
    
    var start = 0
    func getStart()->Int
    {
        start += 1
        return start
    }
}
let exp = ShareExample()
let numbers = Observable<Int>.create { observer in
    let start = exp.getStart()
    observer.onNext(start)
    observer.onNext(start+1)
    observer.onNext(start+2)
    observer.onCompleted()
    return Disposables.create()
}

numbers
    .subscribe(
        onNext:{
            print($0)
        }
        ,onCompleted: {print("COMPLETED")}
    )
numbers
    .subscribe(
        onNext: { el in
            print(el)
        },
        onCompleted: {
            print("Completed")
        }
    )
/*
1
2
3
COMPLETED
2
3
4
Completed
*/

힙메모리를 Observable객체가 갱신하면서 값이 다르게 출력됨