elizarov
06/28/2018, 6:39 AMrunBlocking
and Unconfined
. Whatever thread you start working with will get blocked until the whole hierarchy of child tasks completes. The difference here is that runBlocking
ensure that any kind of work is executed in the invoker thread (even is some piece is of work is async and you have to wait for a long time on it), while trampoline does not seem to do so — it will bail out on async (long tasks), so that continuation of async tasks will run in some other thread, much like Unconfined
. Anyway, I don’t think Rx trampoline has any use-cases beyond the way to avoid stackoverflow on recursively decomposed tasks.