API pool de threads
L’interface de programmation d’applications du pool de threads (API) utilise une conception basée sur des objets. Chacun des objets suivants est représenté par une structure de données en mode utilisateur :
- Un objet pool est un ensemble de threads de travail qui peuvent être utilisés pour effectuer un travail. Chaque processus peut créer plusieurs pools isolés avec des caractéristiques différentes si nécessaire. Il existe également un pool par défaut pour chaque processus.
- Un groupe de nettoyage est associé à un ensemble d’objets de génération de rappel. Les fonctions existent pour attendre et libérer tous les objets membres de chaque groupe de nettoyage. Cela permet à l’application de suivre tous les objets qu’elle a créés.
- Un objet de travail est affecté à un pool et éventuellement à un groupe de nettoyage. Il peut être publié, ce qui entraîne l’exécution d’un thread de travail à partir du pool. Un objet de travail peut avoir plusieurs billets en attente ; chacun génère un rappel. L’opération de publication ne peut pas échouer en raison d’un manque de ressources.
- Un objet minuteur contrôle la planification des rappels. Chaque fois qu’un minuteur expire, son rappel est publié dans son pool de workers. La définition d’un minuteur ne peut pas échouer en raison d’un manque de ressources.
- Un objet d’attente provoque l’attente d’un thread de serveur sur un handle pouvant être attendu. Une fois l’attente satisfaite ou la période d’expiration du délai d’attente, le thread du serveur publie le rappel des objets d’attente dans le pool de workers de l’attente. La définition d’une attente ne peut pas échouer en raison d’un manque de ressources.
- Un objet d’E/S associe un handle de fichier au port d’achèvement des E/S pour le pool de threads. Lorsqu’une opération d’E/S asynchrone se termine, un thread de travail récupère l’état de l’opération et appelle le rappel de l’objet d’E/S.
Le tableau suivant décrit les fonctionnalités des API de pool de threads d’origine et actuelles.
Rubriques connexes