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 ScheduleGroup o 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 al método Concurrency::ScheduleGroup::ScheduleTask, Concurrency::CurrentScheduler::ScheduleTask o Concurrency::Scheduler::ScheduleTask. Para esperar a que una tarea ligera finalice, espere a que el programador primario se cierre o use un mecanismo de sincronización como, por ejemplo, un objeto Concurrency::event.
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
Conceptos
Programador de tareas (Runtime de simultaneidad)
Otros recursos
Tutorial: Adaptar el código existente para usar tareas ligeras
Historial de cambios
Fecha |
Historial |
Motivo |
|---|---|---|
|
Julio de 2010 |
Contenido reorganizado. |
Mejora de la información. |
Sugerencia