π TL; DR
π Scheduler
- RxJavaμμ λΉλκΈ° νλ‘κ·Έλλ°μ μν μ°λ λ κ΄λ¦¬μ
- Schedulerμ€μ μ ν΅ν΄, μ΄λ²€νΈλ₯Ό μ΄λ€ μ°λ λμμ λ°ν ν μ§ / λ°ν ν μ΄λ²€νΈλ₯Ό μ΄λ€ μ°λ λμμ λ°κΈ λ°μ μ§ μ€μ ν μ μμ
- μ΄λ²€νΈλ₯Ό μ²λ¦¬νλ μ€μΌμ€λ¬ μ§μ μ μν΄
observeOn / subscribeOn μ€νΌλ μ΄ν°λ₯Ό νμ©
π HandlerScheduler ( AndroidSchedulers.mainThread() )
- Androidμμ UI μμ
μ ν λ μ¬μ©νλ μ€μΌμ₯΄λ¬
- RxAndroid λΌμ΄λΈλ¬λ¦¬μ μ‘΄μ¬
- UI Threadμμ μμ
μ μ§ν ν μ μλλ‘ ν΄μ€
- I / O μ²λ¦¬ μμ
μ ν λ μ¬μ©νλ μ€μΌμ₯΄λ¬
- λ€νΈμν¬ μμ² μ²λ¦¬, κ°μ’
μ
/ μΆλ ₯ μμ
, DB 쿼리 λ±μ μ¬μ© λ¨
π Computation Scheduler ( Schedulers.computation() )
- λ
Όλ¦¬μ μΈ μ°μ° μ²λ¦¬ μ μ¬μ©νλ μ€μΌμ₯΄λ¬
- λκΈ° μκ° μμ΄ λΉ λ₯΄κ² κ³μ° μμ
μ μννκΈ° μν΄ μ¬μ© ν¨
π NewThread Scheduler ( Schedulers.newThread() )
- μμ² ν λλ§λ€ λ§€λ² μλ‘μ΄ μ°λ λλ₯Ό μμ±
- μ°λ λνμμ μ°λ λλ₯Ό κ°μ Έμ€λ κ²μ΄ μλλΌ λ§€λ² μμ± νκ³ , μ΄λ₯Ό μν μΆκ°μ μΈ μμμ΄ μλͺ¨λ¨
π Trampoline Scheduler ( Schedulers.trampoline() )
- νμ¬ μ€νλκ³ μλ μ°λ λμ Ready Queueλ₯Ό μμ±νμ¬, μ²λ¦¬ν μμ
λ€μ νμ λ£κ³ μμλλ‘ μ²λ¦¬