반응형
이번 글을 자주 나오는데 자꾸 헷갈려서 정확한 개념 정리를 위해 만들게 되었습니다저만 헷갈린 거 아니죠?ㅎ;;
먼저 RxJava는 기본적으로 데이터를 만들고 발행하는 생산자와 발행된 데이터를 받고 처리하는 소비자로 구성되어 있습니다
생산자는 데이터 스트림의 데이터들을 발행하는 역할을 합니다, 생산자를 소비자가 구독하게 되어 생산자가 발행하는 데이터를 소비자가 받을 수 있게 됩니다
그럼 여기서 데이터 스트림과 소비자는 무엇일까요?
먼저 데이터 스트림은 데이터나 이벤트가 들어오는 통로입니다 (데이터가 흐르는 강이라고 비유할 수 있겠네요)
소비자는 말 그대로 생산자의 데이터를 사용하는 주체입니다
이름 | 내용 |
생산자 | 데이터 스트림의 데이터를 발행하는 역할 |
소비자 | 생산자의 데이터를 사용하는 주체 |
데이터 스트림 | 데이터나 이벤트가 들어오는 통로 |
보기좋게 표로 정리해 봤습니다
여기까진 기본적인 내용입니다. 하지만 저는 지금까지 옵저버블이 생산자고 옵서버가 소비자인 줄 알았습니다, 그런데 어느 정도는 비슷했지만 꼭 옵저버블이나 옵서버가 생산자나 소비자가 아니었습니다...! (두둥탁..)
지원 여부 | 생산자 | 소비자 |
Reactive Streams 지원 | Flowable | Subscriber |
Reactive Streams 미지원 | Observable | Observer |
이것 외에도 Single, Maybe 등등이 더 있는데 Observable의 파생형입니다
반응형
'ReactiveX (Rx)' 카테고리의 다른 글
[RxJava] ConnectableObservable, Subject에 대해 알아보자 (0) | 2022.04.04 |
---|---|
[RxJava] Cold Observable, Hot Observable에 대해 알아보자 (0) | 2022.03.30 |
RxJava, RxAndroid Scheduler에 대해 알아보자 (0) | 2022.03.29 |
[RxJava] Observable 생성 연산자(Operators) (0) | 2022.03.28 |
[RxJava] Observable, Single, Maybe, Completable 이란? (0) | 2022.03.24 |