Junior — Middle
Quais mecanismos são utilizados no RxJava para gerenciar a troca de threads de execução?
sobes.tech IA
Resposta da IA
No RxJava, os operadores subscribeOn() e observeOn() são usados para gerir os threads de execução.
-
subscribeOn()determina em qual thread ocorrerá a subscrição e a execução do Observable original. Geralmente é usado para indicar um thread de fundo, por exemplo,Schedulers.io()para operações de entrada/saída. -
observeOn()muda o thread no qual os operadores subsequentes e os assinantes finais serão processados. Por exemplo, pode-se mudar para o thread principal do Android usandoAndroidSchedulers.mainThread().
Exemplo:
Observable.just("data")
.subscribeOn(Schedulers.io()) // execução em thread de fundo
.observeOn(AndroidSchedulers.mainThread()) // processamento do resultado na thread UI
.subscribe(data -> {
// atualização da UI
});
Assim, subscribeOn define o thread para a fonte de dados, e observeOn para o processamento dos resultados.