.NET 4.0 brings you parallel extensions!
The thread pool has been enhanced with great new features. The new features can be accessed from the Task API. The Task API can be used similar to the Thread class and offers some advanced features. For the tasks to queue up, the pool now not only includes a global queue but also a local queue for every thread in the pool. This can enhance performance because of data cached in the CPU.
With the new API, other than starting tasks some more features: tasks can be started in a parent/child relationship, it is possible to suspend/continue/wait/cancel tasks, and get results from the task (using the Future class). This class might be renamed to Task as well (in the future).
A common pattern is using threads in a loop to perform some actions on a list of items. The Parallel class gives an implementation of this pattern. Parallel.ForEach offers several overloads to do several actions in parallel with the thread pool.
More info: http://channel9.msdn.com/pdc2008/TL26/
If this isn't enough for you take a look at Microsoft's CCR and DSS Toolkit 2008 and the technologies it contains for building loosely-coupled, highly concurrent, and distributed applications.
Watch the complete session at: http://channel9.msdn.com/pdc2008/TL55/
More info at http://www.microsoft.com/ccrdss