Oui, .NET 4 a ajouté la Task Parallel Library qui, à un haut niveau, ajoute le support pour:
- l'exécution en parallèle des boucles
Parallel.For
et Parallel.ForEach
- créer ou exécuter des tâches à l'aide d'
Parallel.Invoke
ou Task
classe
- PLINQ (parallel LINQ to Objects)
Répondre à la mise à jour à la question de départ...
Le TPL est le préféré de l'écriture en parallèle des tâches à l'aide .NET 4. Vous pouvez toujours créer threadpool vous-même, et de faire tous de la même "manuel" thread de techniques que vous pouvez avant. La chose à garder à l'esprit est que l'ensemble du pool de threads (et à peu près tout ce que le filetage liées) a été réécrit pour tirer parti de la TPL. Cela signifie que même si vous créez un pool de threads de l'élément de vous-même vous même à l'aide de la TPL, même si vous ne le connaissez pas. L'autre chose à garder à l'esprit est que les TPL est beaucoup plus optimisé, et à l'échelle de façon plus appropriée, sur la base du nombre de processeurs disponibles.
Quant à savoir ce que la situation de chacun d'entre eux serait le mieux adapté, il n'y a pas de "silver bullet" réponse. Si vous avez déjà été mise en queue de votre propre pool de threads (ou sinon de faire quelque chose de multi-thread), vous pouvez modifier la partie de votre code pour utiliser le TPL sans conséquences.
Pour des choses comme les boucles parallèles ou des requêtes en parallèle, vous devrez analyser le code et l'exécution de ce code pour déterminer s'il convient d'être parallélisé.