Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este documento se describe el rol de las tareas ligeras en el runtime de simultaneidad.Una tarea ligera es una tarea que programa directamente a partir del objeto concurrency::ScheduleGroup o concurrency::Scheduler.Una tarea ligera recuerda a la función que se proporciona a la función de la API de Windows CreateThread.Por consiguiente, las tareas ligeras son útiles cuando se adapta código existente para usar la funcionalidad de programación del Runtime de simultaneidad.El propio Runtime de simultaneidad utiliza las tareas ligeras para programar los agentes asincrónicos y enviar mensajes entre los bloques de mensajes asincrónicos.
Sugerencia |
|---|
El runtime de simultaneidad proporciona un programador predeterminado y, por tanto, no es necesario crear uno en la aplicación.Dado que el programador de tareas ayuda a ajustar el rendimiento de las aplicaciones, se recomienda que comience con Parallel Patterns Library (PPL) o Biblioteca de agentes asincrónicos si no ha usado antes el runtime de simultaneidad. |
Las tareas ligeras llevan menos sobrecarga que los agentes asincrónicos y los grupos de tareas.Por ejemplo, el runtime no informa cuando finaliza una tarea ligera.Además, el runtime no detecta ni administra las excepciones que se producen desde una tarea ligera.Para obtener más información sobre control de excepciones y tareas ligeras, vea Control de excepciones en el runtime de simultaneidad.
Para la mayoría de las tareas, recomendamos utilizar funcionalidad más robusta, como grupos de tareas y algoritmos paralelos, porque permiten descomponer más fácilmente tareas complejas en tareas más básicas.Para obtener más información acerca de los grupos de tareas, vea Paralelismo de tareas (Runtime de simultaneidad).Para obtener más información acerca de los algoritmos paralelos, vea Algoritmos paralelos.
Para crear una tarea ligera, llame a la concurrency::ScheduleGroup::ScheduleTask, concurrency::CurrentScheduler::ScheduleTask, o concurrency::Scheduler::ScheduleTask método.Para esperar a que finalice una tarea ligera, espere el planificador principal apagar o utilizar un mecanismo de sincronización, como un concurrency::event objeto.
Ejemplo
Para obtener un ejemplo que muestra cómo adaptar el código existente para utilizar una tarea ligera, vea Tutorial: Adaptar el código existente para usar tareas ligeras.
Vea también
Tareas
Tutorial: Adaptar el código existente para usar tareas ligeras
Sugerencia