When IO operation is truly asynchronous, you need ...
# coroutines
i
When IO operation is truly asynchronous, you need no thread to await it. You need a thread to continue execution after the operation completes. Read more about this concept here http://blog.stephencleary.com/2013/11/there-is-no-thread.html