How can I understand async/await, event loops, and non-blocking pipelines?
I come from a hardware and embedded background, where most of my code has been sequential and concurrency is handled fairly explicitly. High-level asynchronous programming has been much…