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.

In the June issue, Jeffrey introduces his AsyncEnumerator class, which intelligently drives an iterator so that different thread pool threads can execute the code at different times, and ensures that the iterator only advances after asynchronous I/O operations complete.

See our MSDN Magazine archives for previous installments on the Concurrent Affairs column.