유누킴

Rxjava subscribeOn과 observeOn 차이 본문

Tech/Android

Rxjava subscribeOn과 observeOn 차이

Yunhoo_kim 2018. 12. 16. 17:53
728x90

안드로이드 리액티브 프로그래밍을 하면서 subscribeOn()과 observeOn()의 차이를 명확하게 모르겠어서 여러 자료를 찾아보다 쉽게 블로깅합니다.


subscribeOn() 

- subscribeOn은 Observable 객체가 실행될 쓰레드를 정한다.

- 예를 들면 userApi.getUsers().subscribeOn(newThread()) 으로 사용했다면 getUsers() 가 newThread 안에서 실행됨.


observeOn() 

- observeOn은 연쇄되는 연산이 실행될 쓰레드를 정한다.

- 예를 들면 userApi.getUsers().subscribeOn(newThread()).observeOn(mainThread()).subscribe({

Log.d("Log", "Logging");

},{},{}) 으로 사용했다면 getUsers() 가 newThread 안에서 실행되고, subscribe() 코드가 메인 쓰레드 안에서 실행된다.