Performing I/O-bound operations asynchronously is key to producing scalable and responsive applications, and the APM allows you to use a very small number of threads to execute a large amount of work without blocking any of the threads.

In the November issue of MSDN Magazine, Jeffrey Richter demonstrates some recent additions to the C# programming language that make working with the APM significantly easier. Jeffrey also introduces a custom AsyncEnumerator class that builds on these C# language features to solve some problems of asynchronous programming.

You can find previous installments of Concurrent Affairs in the MSDN Magazine archives, or subscribe to the RSS feed for notification of new columns.

Enjoy!