That is some kind of mix between `runBlocking` and...
# arrow
e
That is some kind of mix between
runBlocking
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.