The Wayback Machine - https://web.archive.org/web/20110922000531/http://www.codeguru.com:80/csharp/csharp/cs_syntax/threading/

    Threading

    The Practical Guide to Multithreading - Part 1

    Understand from this guide how and when - as well as when not - to use multithreading.

    Using the Task Parallel Library and PLINQ to Go Parallel

    With more and more computers using a multi-core processor, the free lunch of increased clock speeds and the inherent performance gains are over. Software developers must instead make sure their applications take use of all the cores available in an efficient manner. New features in .NET 4.0 mean that managed code developers too can join the party.

    Safe Multithreading with the BackgroundWorker Component

    Until the .NET Framework controls are thread safe, you will have to use Control.Invoke and delegates to marshal data from background worker threads to the Windows Form thread.

    Batched Execution Using the .NET Thread Pool

    The .NET thread pool's functionality for executing multiple tasks sequentially in a wave or group is insufficient. Luckily, a Visual C++.NET helper method that uses other types within the System.Threading namespace provides this batch-execution model.

    Attributes

    C# provides a mechanism for defining declarative tags, called attributes, which you can place on certain entities in your source code to specify additional information. The information that attributes contain can be retrieved at run time through reflection. You can use or you can define your own custom attributes.

    Changing the Default Limit of 25 Threads of the ThreadPool Class

    It should be a simple function call to change the default thread limit of 25 threads of the ThreadPool class per processor. But, it's not that easy at all. Learn the way to do this.