반응형
Schedulars 란?
스케줄러(Schedular)란 Observable, Operator(연산자), Subscriber이 수행하는 스레드를 결정해주는 것입니다
하지만 일부 연산자들은 자체적으로 어떤 스케줄러에서 사용할지 지정하기 때문에 모든 연산자들의 스케줄러를 지정해줄 수 있는 건 아닙니다
실제로 코드에서는 subscribeOn, observeOn 연산자로 사용 가능합니다
subscribeOn 이란?
구독에서 사용할 스레드를 지정합니다, observable의 스케줄러를 정해주기 위해 사용할 수 있습니다
observeOn 이란?
추가적인 연산자에 대한 작업 스레드를 정해주기 위해 사용할 수 있습니다
RxJava의 스케줄러 종류는?
생성 방법 | 내용 |
Schdulers.io() | I/O 처리 작업을 할 때 사용하는 스케줄러 네트워크 요청 처리, 입/출력 작업, db등에 사용 쓰레드를 필요할때 생성 |
Schdulers.computation() | 논리적인 연산 처리 시 사용(I/O처리를 해서는 안됨) 내부적으로 스레드 풀 생성 가능 스레드 개수는 프로세서 개수 |
Schdulers.trampoline() | 현재 스레드에 무한한 크기의 대기 큐 생성 큐에 있는 일이 끝나면 이어서 수행 |
Schdulers.newThread() | 항상 새로운 스레드를 생성 |
Schdulers.single() | 단일 스레듸를 생성해 계속 재사용 |
immediate()도 있지만 2 버전부터는 삭제가 되어 소개하지 않겠습니다
위에 표 중 위에서 3개를 rxjava에서는 사용 권장하고 있습니다
RxAndroid의 스케줄러 종류는?
생성 방법 | 내용 |
AndroidSchedulers.mainThread() | 안드로이드의 UI 스레드에서 동작 |
HandlerScheduler.from(handler) | 특정 핸들러에 의존하여 동작 |
반응형
'ReactiveX (Rx)' 카테고리의 다른 글
[RxJava] ConnectableObservable, Subject에 대해 알아보자 (0) | 2022.04.04 |
---|---|
[RxJava] Cold Observable, Hot Observable에 대해 알아보자 (0) | 2022.03.30 |
[RxJava] 생산자와 소비자, 데이터 스트림이란? (Observable, Observer, Flowable, Subscriber) (0) | 2022.03.29 |
[RxJava] Observable 생성 연산자(Operators) (0) | 2022.03.28 |
[RxJava] Observable, Single, Maybe, Completable 이란? (0) | 2022.03.24 |