Async Code Primer
I’ve added a new set of articles on asynchronous programming to my website. These articles are a deep dive into the mechanics of async operations, tailored for those curious about how it all works beneath the high-level abstractions provided by programming languages and frameworks. Here’s a quick summary of what’s covered:
- Overview of Asynchronous Code Execution: An introduction to the basic concepts and the difference between concurrency and parallelism. This article lays the groundwork for understanding how async code operates, especially in the context of operating systems and multitasking.
- Event Queues: A look into how operating systems like Linux, macOS, and Windows handle async operations through event queues, and the implications for programming.
- Green Threads/Fibers: An exploration of green threads or fibers, which are user-space managed threads that offer an efficient way to handle concurrency without relying heavily on the operating system’s thread management.
- Stackless Coroutines and Async/Await: A detailed look at how modern programming languages implement async/await patterns using stackless coroutines, simplifying asynchronous programming.
These articles are my attempt to break down the complex topic of async programming into more digestible parts. Whether you’re a seasoned developer or new to the concept, I hope you find these pieces enlightening.