The Various Kinds of IO – Blocking, Non-Blocking, Multiplexed and Async
There are three main kinds of async IO.<p>* Event driven with callbacks (`on data`, `on error`, and so on).<p>* Stackless coroutines (async&#x2F;await).<p>* Stackful coroutines (no direct semantic changes to code required).<p>Personally, I like stackful coroutines because the concurrency model has minimal effect on the structure of the code, i.e. it&#x27;s possible to retrofit existing code without change.