Alexey Soshin
1 min readNov 26, 2018

--

This is only partially correct. `Thread.sleep()` blocks the thread the coroutine was executed on.

Since you use `Dispatchers.Main`, which is backed up by a single thread, you indeed block other coroutines from executing. But with other dispatchers, that use thread pool, the behaviour will look different.

--

--

Alexey Soshin

Solutions Architect @Depop, author of “Kotlin Design Patterns and Best Practices” book and “Pragmatic System Design” course