Junior — Middle
Milyen mechanizmusokat használnak az RxJava-ban a végrehajtási szálak váltásának kezelésére?
sobes.tech MI
Válasz az MI-től
Az RxJava-ban az subscribeOn() és observeOn() operátorokat a végrehajtási szálak kezelésére használják.
-
A
subscribeOn()meghatározza, hogy melyik szálon történik az előfizetés és az eredeti Observable végrehajtása. Általában háttérszálat jelez, példáulSchedulers.io()bemeneti/kimeneti műveletekhez. -
Az
observeOn()megváltoztatja a szálat, amelyen a következő operátorok és végső feliratkozók feldolgozása történik. Például az Android fő szálára lehet váltaniAndroidSchedulers.mainThread()segítségével.
Példa:
Observable.just("data")
.subscribeOn(Schedulers.io()) // végrehajtás háttérszálon
.observeOn(AndroidSchedulers.mainThread()) // eredmény feldolgozása UI szálon
.subscribe(data -> {
// UI frissítése
});
Így a subscribeOn a forrás szálát állítja be, míg az observeOn az eredmények feldolgozásához használt szálat.