Threading has emerged as a red hot topic in our roadmap as increasing numbers of developers seek to build applications with multiple threads of execution.

What exactly are threads you ask? Wikipedia defines threads as “a way for a program to split itself into two or more simultaneously (or pseudo-simultaneously) running tasks.” I’m not sure what “pseudo-simultaneous” really means, but I do know that threading is one of the least understood aspects of programming today.

The latest news from our R&D team is that we’ve just released 6+ hours of self-paced developer learning that covers the following core aspects of threading:

Threading in the .NET Framework

You’ll learn how to use the .NET thread pool, the BackgroundWorker component, thread safe programming techniques, and asynchronous delegates. You’ll also learn how to perform thread synchronization with wait handles, as well as how to create and control threads manually.

Concurrency Patterns

You’ll learn about the Event-based Asynchronous Pattern, the Countdown Latch, and the Producer/Consumer relationship. You’ll also learn how to parallelize data by using Loop Tiling, avoid deadlocks with Lock Leveling, and work with immutable types.

I encourage you to check out both of these Drills on threading, which are available in C# immediately. They will soon be followed by their VB compatriots, so stay tuned for that release announcement shortly. Enjoy…