-
Wait, What? Async-Await Explained
Last updated: Friday, August 22, 2025
Published in: CODE Magazine: 2025 - Sep/Oct
Matthew Hess demystifies the often misunderstood workings of async-await in C#. While many developers expect async-await to enable parallel execution within individual functions, Hess explains that its true purpose lies in optimizing thread pool usage by freeing threads during asynchronous operations. This is achieved through the creation of "Continuations" that suspend functions and release threads back to the pool until the task completes, ensuring efficient handling of IO-bound tasks and preventing thread starvation. Matthew also distinguishes true parallel processing, achievable through techniques like Task.WhenAll(), and explores nuances like cascading async calls (the "turtles all the way down" problem) and handling CPU-bound tasks.
-
Async Programming in JavaScript
Last updated: Monday, October 28, 2024
Published in: CODE Magazine: 2024 - May/June
Sahil Malik discusses the importance of asynchronous programming in JavaScript due to the increasing complexity of software and the need for non-blocking code. He explores different techniques such as callbacks, promises, XHR, async/await, and workers to achieve non-blocking code. The article provides code examples and demonstrates how each technique affects the user interface. The author concludes by emphasizing the importance of learning and utilizing these asynchronous patterns in JavaScript to create more maintainable and efficient code.
-
Asynchronous Pattern Redux for XAML Developers
Last updated: Monday, July 26, 2021
Published in: CODE Magazine: 2015 - May/June
By providing the history of asynchronous and await patterns, Bill examines the benefits of using these techniques in developing new apps and when it comes to the maintenance or revision of legacy code.