Compartir a través de


Windows.System.Threading.Core Espacio de nombres

Crea elementos de trabajo que se ejecutan en respuesta a eventos con nombre y semáforos. También asigna previamente recursos para los elementos de trabajo que deben garantizarse la capacidad de ejecutarse, incluso en circunstancias de asignación de recursos pesadas (o completas).

Nota

ThreadPool API es compatible con aplicaciones de escritorio y para UWP.

PreallocatedWorkItemCuando se crean elementos de trabajo mediante ThreadPool. RunAsync, el elemento de trabajo se crea y envía como una sola operación. Esto es aceptable para la mayoría de los escenarios, pero a veces es necesario reservar recursos para un elemento de trabajo de antemano.

La clase PreallocatedWorkItem construye un elemento de trabajo con antelación, colocando el elemento de trabajo "en espera" para que se pueda enviar al grupo de subprocesos cuando sea necesario. Esto resulta útil en circunstancias en las que los recursos disponibles para la aplicación se asignan completamente antes de que se necesite el elemento de trabajo; por ejemplo, llamar a una rutina de desasignación que usa un elemento de trabajo. Si ya se ha asignado un elemento de trabajo, todavía se puede llamar a la rutina de desasignación de recursos y todavía se puede enviar preallocatedWorkItem al grupo de subprocesos aunque ya estén en uso todos los recursos. A veces es necesario poner en cola elementos de trabajo en respuesta a eventos con nombre o semáforos creados por objetos COM de Win32. Puede ejecutar un método Windows Runtime en respuesta a un evento con nombre o semáforo mediante un objeto SignalNotifier. Esto te permite escribir Windows Runtime código que responda a eventos y señales enviados mediante Win32 y COM para , siempre que el evento o semáforo tenga un nombre. Por ejemplo, SignalNotifier se puede usar para trabajar con código Win32 que se va a migrar a una aplicación para UWP. ISignalableNotifierEn ocasiones no es posible conocer el nombre de un evento o semáforo, pero la aplicación sigue necesitando responder a él; por ejemplo, código heredado y algunos eventos conocidos y semáforos, siguen usando identificadores de espera en lugar de nombres. ISignalableNotifier permite crear objetos ISignalNotifier registrados con identificadores de espera.

Nota

Los elementos de trabajo asignados previamente solo son necesarios para las aplicaciones que pueden usar todos los recursos disponibles o que necesitan crear elementos de trabajo para rutinas de desasignación de recursos. Los notificadores de señal solo son aplicables a determinadas aplicaciones que usan Win32 y COM para . Si no necesitas usar la asignación previa o la señalización en la aplicación, crea elementos de trabajo mediante Windows.System.Threading.

Clases

PreallocatedWorkItem

Un elemento de trabajo asignado previamente se construye con antelación de su envío al grupo de subprocesos, lo que garantiza que el elemento de trabajo se construye para que se pueda enviar al grupo de subprocesos cuando sea necesario. Por ejemplo, se puede crear un objeto PreallocatedWorkItem en caso de que sea necesario para una rutina de desasignación de recursos, ya que se puede llamar a la rutina de desasignación de recursos en circunstancias en las que no haya suficientes recursos disponibles para crear el elemento de trabajo.

Nota

ThreadPool API es compatible con aplicaciones de escritorio y para UWP.

SignalNotifier

Ejecuta un método cuando se señala un evento o semáforo. También se puede especificar un valor de tiempo de espera, lo que hace que el delegado se ejecute después de que haya transcurrido el intervalo de tiempo si el evento con nombre no se produce (o si el semáforo no alcanza un estado señalado).

Nota

ThreadPool API es compatible con aplicaciones de escritorio y para UWP.

Delegados

SignalHandler

Representa un método al que se llama cuando se señala un evento adjunto o semáforo del notificador de señal, o cuando el valor de tiempo de espera opcional ha transcurrido (lo que ocurra primero).