Partager via


Windows.System.Threading Espace de noms

Permet à une application d’utiliser le pool de threads pour exécuter des éléments de travail.

Le pool de threads fournit un pool de threads de travail qu’une application peut utiliser pour les éléments de travail qui peuvent s’exécuter en parallèle. L’utilisation du pool de threads est plus simple et plus efficace que la création de threads individuels, car le pool de threads gère la durée de vie des threads et planifie les éléments de travail lorsque les threads deviennent disponibles.

Les éléments de travail s’exécutent de manière asynchrone et peuvent s’exécuter dans n’importe quel ordre. Il est donc préférable d’utiliser le pool de threads pour les éléments de travail qui ne prennent pas beaucoup de temps et qui ne dépendent pas de la sortie de l’autre. Vous créez un élément de travail en appelant la méthode RunAsync . L’élément de travail est ajouté à la file d’attente du pool de threads, où il reste jusqu’à ce qu’un thread soit disponible. Lorsqu’un thread devient disponible, le pool de threads appelle le délégué WorkItemHandler associé à l’élément de travail et l’élément de travail s’exécute.

Le pool de threads planifie un élément de travail dès qu’un thread devient disponible, de sorte que l’élément peut s’exécuter immédiatement. Si vous souhaitez que l’élément de travail s’exécute après un certain laps de temps, utilisez un minuteur. Vous créez un minuteur et spécifiez sa valeur de délai d’expiration en appelant la méthode CreateTimer . Le minuteur commence à compter vers le bas dès qu’il est créé, vous n’avez donc pas à le démarrer. Lorsque le minuteur expire, le pool de threads appelle le délégué TimerElapsedHandler du minuteur.

Si vous souhaitez exécuter un élément de travail plusieurs fois à intervalles réguliers, utilisez la méthode CreatePeriodicTimer pour créer un minuteur périodique. Un minuteur périodique est réinitialisé chaque fois qu’il expire et reste actif jusqu’à ce que vous l’annuliez.

Si vous souhaitez qu’un élément de travail attende qu’un événement ou un sémaphore soit signalé, ou si vous souhaitez créer un élément de travail préalloué, consultez Windows.System.Threading.Core.

Pour obtenir un exemple de code qui montre comment utiliser le pool de threads, consultez l’exemple de pool de threads.

Notes

L’API ThreadPool est prise en charge pour les applications de bureau et UWP.

Classes

ThreadPool

Fournit l’accès au pool de threads. Pour obtenir des conseils détaillés sur l’utilisation du pool de threads, consultez Programmation de threads et programmation asynchrone :

Notes

L’API ThreadPool est prise en charge pour les applications de bureau et UWP.

ThreadPoolTimer

Représente un minuteur créé avec CreateTimer ou CreatePeriodicTimer.

Notes

L’API ThreadPool est prise en charge pour les applications de bureau et UWP.

Énumérations

WorkItemOptions

Spécifie la façon dont les éléments de travail doivent être exécutés.

WorkItemPriority

Spécifie la priorité d’un élément de travail par rapport à d’autres éléments de travail dans le pool de threads.

Délégués

TimerDestroyedHandler

Représente une méthode appelée lorsqu’un minuteur créé avec CreateTimer ou CreatePeriodicTimer est terminé.

TimerElapsedHandler

Représente une méthode appelée lorsqu’un minuteur créé avec CreateTimer ou CreatePeriodicTimer expire.

WorkItemHandler

Représente une méthode appelée lors de l’exécution d’un élément de travail.