Partager via


Windows.System.Threading.Core Espace de noms

Crée des éléments de travail qui s’exécutent en réponse à des événements et des sémaphores nommés. Préalloue également des ressources pour les éléments de travail qui doivent être garantis la possibilité de s’exécuter, même dans des circonstances d’allocation de ressources importante (ou complète).

Notes

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

PreallocatedWorkItemLorsque des éléments de travail sont créés à l’aide de ThreadPool. RunAsync, l’élément de travail est créé et envoyé en tant qu’opération unique. Cela est acceptable dans la plupart des scénarios, mais il est parfois nécessaire de réserver des ressources pour un élément de travail à l’avance.

La classe PreallocatedWorkItem construit un élément de travail à l’avance, mettant l’élément de travail « en veille » afin qu’il puisse être envoyé au pool de threads quand il est nécessaire. Cela est utile dans les cas où les ressources disponibles pour votre application sont entièrement allouées avant que l’élément de travail ne soit nécessaire, par exemple, en appelant une routine de désallocation qui utilise un élément de travail. Si un élément de travail a déjà été alloué, la routine de désallocation des ressources peut toujours être appelée et l’objet PreallocatedWorkItem peut toujours être envoyé au pool de threads même si toutes les ressources sont déjà utilisées. Parfois, il est nécessaire de mettre en file d’attente des éléments de travail en réponse à des événements nommés ou des sémaphores créés par des objets COM Win32. Vous pouvez exécuter une méthode Windows Runtime en réponse à un événement ou à un sémaphore nommé à l’aide d’un objet SignalNotifier. Cela vous permet d’écrire Windows Runtime code qui répond aux événements et aux signaux envoyés à l’aide de Win32 et COM pour , à condition que l’événement ou le sémaphore ait un nom. Par exemple, SignalNotifier peut être utilisé pour travailler avec du code Win32 qui est en cours de portage vers une application UWP. ISignalableNotifierParfois, il n’est pas possible de connaître le nom d’un événement ou d’un sémaphore, mais votre application doit toujours y répondre ; par exemple, le code hérité et certains événements et sémaphores bien connus utilisent toujours des handles d’attente au lieu de noms. ISignalableNotifier vous permet de créer des objets ISignalNotifier inscrits avec des handles d’attente.

Notes

Les éléments de travail préalloués sont nécessaires uniquement pour les applications qui peuvent utiliser toutes les ressources disponibles ou qui doivent créer des éléments de travail pour les routines de désallocation des ressources. Les notificateurs de signal s’appliquent uniquement à certaines applications qui utilisent Win32 et COM pour . Si vous n’avez pas besoin d’utiliser la préallocation ou la signalisation dans votre application, créez des éléments de travail à l’aide de Windows.System.Threading.

Classes

PreallocatedWorkItem

Un élément de travail préalloué est construit avant sa soumission au pool de threads, ce qui garantit que l’élément de travail est construit de sorte qu’il puisse être envoyé au pool de threads si nécessaire. Par exemple, un objet PreallocatedWorkItem peut être créé au cas où il serait nécessaire pour une routine de désallocation des ressources, car la routine de désallocation des ressources peut être appelée dans des circonstances où il n’y aurait pas suffisamment de ressources disponibles pour créer l’élément de travail.

Notes

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

SignalNotifier

Exécute une méthode lorsqu’un événement ou un sémaphore est signalé. Une valeur de délai d’expiration peut également être spécifiée, ce qui entraîne l’exécution du délégué une fois l’intervalle de temps écoulé si l’événement nommé ne se produit pas (ou si le sémaphore n’atteint pas un état signalé).

Notes

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

Délégués

SignalHandler

Représente une méthode appelée lorsque l’événement ou le sémaphore attaché d’un notificateur de signal est signalé, ou lorsque la valeur de délai d’expiration facultative s’est écoulée (selon la première éventualité).