0
Comment fonctionne le pool de threads dans TPL? Plusieurs blogs dit que cela fonctionne comme:Comment fonctionne ThreadPool?
- Le fil vérifie d'abord la file d'attente locale
- Le fil vérifie alors la file d'attente globale
- Et enfin le fil vérifie les files d'attente locales autour
Cependant, le livre Programmation concurrente sur Windows par Joe Duffy, dit que cela fonctionne comme:
- Le fil vérifie d'abord la file d'attente locale
- Le fil vérifie ensuite les files d'attente locales autour
- Et enfin le fil vérifie la file d'attente globale
Qui a raison?
Il serait tout simplement plus de sens si elle a vérifié les files d'attente locales environnantes d'abord, pour réduire les verrous sur la file d'attente globale ... – ebb
La file d'attente globale a été améliorée dans .NET 4 pour utiliser un algorithme sans verrou, évitant tout problème de performance potentiel créé en accédant à la file d'attente globale avant d'entourer les files d'attente locales. –
Le [CLR 4.0 ThreadPool Improvements] (http://blogs.msdn.com/b/ericeil/archive/2009/04/23/clr-4-0-threadpool-improvements-part-1.aspx) article de blog par Eric Eilebrecht est un bon début. –