My feeling is that if you are in a situation where you want to run some stuff that forces you to run it in a background thread but you really wish you could just run it synchronously i would go for coroutines. Rx is used for more than threading as an example, listeners in the UI.