Re:The Various Kinds of IO – Blocking, Non-Blocking, Multipl...
by ioquatix on Monday May 07, 2018 @12:26AM
(#17010390)
I particularly like this video. Start watching from here: https://www.youtube.com/watch?v=_fu0gx-xseY&feature=youtu.be... for the historical context/concepts. He gives an absolutely brilliant overview, better than I can do here with a wall of text.
However, he is an advocate for stackless coroutines. They are a good idea in some situations but they still have a semantic overhead unlike stackful coroutines. They may have slightly better performance but at the expense of semantic overhead (async/await, explicit futures/concurrency).
I like to think that I'm not advocating for a specific design choice, but for a design choice which makes it possible to write higher level abstractions without the need to expose the underlying concurrency models.
If the video doesn't answer all your questions, I'd be happy to answer specific questions.
Im going to ask you a favor, because i love this comment so much based on how info-dense it is.
I challenge you to unpack it not as an ELI5 - but ELIInfant.
Please accept. Many shall learn from such.