RxJava-스케줄러
스케줄러는 Observable 연산자와 함께 작동하기 위해 다중 스레딩 환경에서 사용됩니다.
에 따라 Reactive, Scheduler는 연산자 체인이 다른 스레드에 적용되는 방법을 예약하는 데 사용됩니다.
기본적으로 Observable과 여기에 적용한 연산자 체인은 해당 작업을 수행하고 해당 Subscribe 메서드가 호출 된 동일한 스레드에서 관찰자에게 알립니다. SubscribeOn 연산자는 Observable이 작동해야하는 다른 스케줄러를 지정하여이 동작을 변경합니다. ObserveOn 연산자는 Observable이 관찰자에게 알림을 보내는 데 사용할 다른 스케줄러를 지정합니다.
RxJava에서 사용할 수있는 다음 유형의 스케줄러가 있습니다.
Sr. 아니. | 스케줄러 및 설명 |
---|---|
1 | Schedulers.computation() 계산 작업을위한 스케줄러를 만들고 반환합니다. 예약 할 스레드 수는 시스템에있는 CPU에 따라 다릅니다. CPU 당 하나의 스레드가 허용됩니다. 이벤트 루프 또는 콜백 작업에 가장 적합합니다. |
2 | Schedulers.io() IO 바인딩 작업을위한 스케줄러를 만들고 반환합니다. 스레드 풀은 필요에 따라 확장 될 수 있습니다. |
삼 | Schedulers.newThread() 각 작업 단위에 대해 새 스레드를 만드는 스케줄러를 만들고 반환합니다. |
4 | Schedulers.trampoline() 현재 작업이 완료된 후 실행할 현재 스레드에서 작업을 대기열에 넣는 스케줄러를 만들고 반환합니다. |
4 | Schedulers.from(java.util.concurrent.Executor executor) Executor를 새 스케줄러 인스턴스로 변환합니다. |