Aujourd’hui, retour sur une question fondamentale : faut-il utiliser Thread
ou ThreadPool
?
Note : cet article a d’abord été publié sur le blog de Nexeo.
Contrairement à ce que la francisation du mot anglais « thread » laisse entendre, la création de threads n’est pas vraiment sans conséquences. Si vous démarrez beaucoup de threads réalisant des tâches simples dont le seul objectif est d’être asynchrones, le coût de la création va significativement nuire à vos performances. ThreadPool
résout ce problème en offrant un ensembe de threads déjà initialisés, et qui n’attendent que vos instructions pour démarrer.
Si théorie ne vous suffit pas, n’hésitez pas à consulter l’article de Vko sur le sujet : il y a mesuré la différence de performance entre l’utilisation de Thread
et de ThreadPool
. C’est édifiant.