2011-06-22 4 views

Répondre

0

Le pool de threads .NET est essentiellement un pool de threads qui peuvent être partagés pour exécuter des tâches, traiter des E/S asynchrones et fournir des minuteurs. Les "objets" dans le pool sont des threads .NET et ceux-ci sont implémentés à l'aide de threads Windows. Ainsi, lorsque le pool de threads exécute une tâche sur un thread, il s'exécute sur un thread Windows.

En général, un processus contient plusieurs threads et certains de ces threads peuvent appartenir au pool de threads. Lorsque ces threads s'exécutent simultanément, le planificateur Windows est chargé de planifier les threads à exécuter sur les cœurs de CPU en utilisant la commutation de contexte.

Le pool de threads .NET 4 ne planifie pas les threads en cours d'exécution. Cependant, les tâches qui ont été mises en file d'attente pour travailler dans le pool de threads seront éventuellement affectées à un thread dans le pool de threads. Lorsque la tâche est terminée (cela peut prendre 1 ms ou 1 an), le thread est recyclé dans le pool de threads. Le pool de threads peut se développer et se contracter pour optimiser l'utilisation des ressources système.

Vous pouvez lire une entrée de blog sur les améliorations apportées au pool d'unités d'exécution .NET 4.0: ThreadPool Improvements by Eric Eilebrecht.

+0

J'ai lu que la nuit dernière mais juste n'était pas clair si le programmateur de fenêtres était toujours dans le contrôle –

+0

Ainsi ceci signifie que peu importe quels changements ont été faits au groupe de discussion dans .net 4, il dépend toujours du planificateur de fenêtres pour faire bon travail? –

Questions connexes