Información general de la API de coordinador de actividades
La API del coordinador de actividades coordina la ejecución de tareas aplazables, denominadas actividades, en un sistema Windows.
Las actividades pueden aplazar su ejecución a una hora en que el sistema está en un estado deseado, cuando la ejecución de la tarea no interfiere con la experiencia del usuario o el rendimiento del sistema. Esto permite que el consumo total de aplicaciones en el sistema se distribuya más uniformemente en los momentos en que el usuario está inactivo o el sistema está inactivo. La API proporciona una coordinación centralizada de estas decisiones para ayudar a evitar escenarios en los que las aplicaciones degradan la experiencia del usuario al competir con los recursos del sistema.
Uso
Los desarrolladores usan la API definiendo directivas que describen el estado deseado del sistema durante el cual desean ejecutar sus actividades. Al suscribirse a estas directivas, los desarrolladores reciben una notificación sobre cuándo iniciar o detener su actividad en función de la satisfacción de las condiciones de su directiva. La API coordina estas notificaciones entre las suscripciones del sistema para proporcionar una determinación centralizada de lo que es un tiempo adecuado para realizar un trabajo aplazable.
El uso de la API no impide que las aplicaciones ejecuten el trabajo, ya que ven que caben. Se basa en ellos para ser buenos ciudadanos, elegir directivas adecuadas y tomar decisiones de ejecución en respuesta a las notificaciones de API. Además, el uso de la API requiere que se ejecute el proceso de llamada. Las aplicaciones no deben depender de la API coordinador de actividades para el trabajo de alta prioridad que debe ejecutarse independientemente de las condiciones del sistema.
Windows tiene varias API disponibles para los desarrolladores para aplazar o programar tareas. Use la siguiente guía para determinar qué API es mejor para la aplicación.
API | Uso previsto |
---|---|
Coordinador de actividades | Use el Coordinador de actividades para coordinar la ejecución de tareas aplazables en función de las condiciones deseadas del sistema. |
Servicio de transferencia inteligente en segundo plano (BITS) | Los programadores y administradores del sistema usan BITS para descargar o cargar archivos en servidores web HTTP y recursos compartidos de archivos SMB. Tendrá en cuenta el costo de la transferencia, así como el uso de red para que el trabajo en primer plano del usuario tenga el menor impacto posible. |
Programador de tareas | El Programador de tareas permite realizar automáticamente tareas rutinarias en un equipo elegido. Use esta API para ejecutar tareas como iniciar una aplicación, enviar un mensaje de correo electrónico o mostrar un cuadro de mensaje. Las tareas se pueden programar para ejecutarse en respuesta a eventos o desencadenadores. |
Directivas, recursos y condiciones
Las directivas describen las condiciones de muchos recursos del sistema. Los desarrolladores configuran directivas asociando cada recurso con una "condición" deseada para empezar a usar ese recurso. Las condiciones describen el estado cualitativo de un recurso y pueden evaluarse por factores.
La combinación de recursos y condiciones permite a los desarrolladores describir el estado deseado del sistema para ayudar a garantizar que la ejecución de su carga de trabajo no afecte negativamente a la experiencia del usuario o al rendimiento del sistema. A medida que el estado del sistema cambia siempre, la suscripción a estas directivas proporciona notificaciones de cuándo iniciar o detener el trabajo en función de si la directiva está satisfecho (abierto) o no satisfecho (cerrado).
Plantillas de directiva
Las plantillas de directiva son una manera de que los desarrolladores configuren sus directivas con condiciones de recursos predefinidas diseñadas para satisfacer las necesidades de la mayoría de las aplicaciones. Se requiere una plantilla de directiva al crear una directiva y se usa como punto de partida para configurar directivas específicas de las necesidades del desarrollador. Se proporciona una plantilla de directiva vacía para los desarrolladores que quieran tener control total sobre su directiva.
Temas relacionados
API y terminología del coordinador de actividades
Elección de la directiva de coordinador de actividades adecuada