Runtime de simultaneidad

El runtime de simultaneidad para ayuda de C++ a escribir aplicaciones paralelas sólidas, escalables, y receptivas.Eleva el nivel de abstracción para que, de esta forma, no sea necesario administrar los detalles de infraestructura relacionados con la simultaneidad.También se puede usar para especificar directivas de programación que cumplan las demandas de calidad de servicio de las aplicaciones.Utilice estos recursos para ayudarle a empezar a trabajar con el runtime de simultaneidad.

Para obtener información de referencia sobre la documentación, vea Referencia (Runtime de simultaneidad).

SugerenciaSugerencia

El runtime de simultaneidad se refiere continuamente a las características C++11 y adopta el estilo más moderno de C++.Para aprender más, lectura Bienvenido a C++ (C++ moderno).

Elegir características del runtime de simultaneidad

Información general sobre el runtime de simultaneidad

Le enseña por qué el runtime de simultaneidad es importante y describe sus características clave.

Comparar el runtime de simultaneidad con otros modelos de simultaneidad

Compara el runtime de simultaneidad con otros modelos de simultaneidad, como el grupo de subprocesos de Windows y OpenMP, para que pueda usar el modelo de simultaneidad que mejor se ajuste a los requisitos de la aplicación.

Migrar de OpenMP al Runtime de simultaneidad

Compara OpenMP al runtime de simultaneidad y proporciona ejemplos sobre cómo migrar el código existente de OpenMP para usar el runtime de simultaneidad.

Parallel Patterns Library (PPL)

Presenta el PPL, que proporciona bucles, tareas, y contenedores paralelos.

Biblioteca de agentes asincrónicos

Se presentan cómo usar los agentes asincrónicos y el paso de mensajes para incorporar fácilmente flujo de datos y que canaliza tareas en las aplicaciones.

Programador de tareas (Runtime de simultaneidad)

Presenta el Programador de tareas, que permite fino- tono el rendimiento de las aplicaciones de escritorio que usa el runtime de simultaneidad.

Tarea Paralelismo en PPL

Paralelismo de tareas (Runtime de simultaneidad)

Cómo: Usar parallel.invoke para escribir una rutina de ordenación en paralelo

Cómo: Usar parallel.invoke para ejecutar operaciones paralelas

Cómo: Crear una tarea que se complete después de un retardo

Describe las tareas y los grupos de tareas, que pueden ayudar a escribir código asincrónico y a descomponer el trabajo paralelo en fragmentos pequeños.

Tutorial: Implementar futuros

Muestra cómo combinar características del runtime de simultaneidad para hacer algo más.

Tutorial: Quitar trabajo de un subproceso de la interfaz de usuario

Muestra cómo mover el trabajo realizado por el subproceso de la interfaz de usuario en una aplicación MFC a un subproceso de trabajo.

Procedimientos recomendados en la biblioteca de modelos paralelos

Procedimientos recomendados generales con el Runtime de simultaneidad

Proporciona sugerencias y los procedimientos recomendados para trabajar con la biblioteca PPL.

Datos Paralelismo en PPL

Algoritmos paralelos

Cómo: Escribir un bucle parallel_for

Cómo: Escribir un bucle parallel_for_each

Cómo: Realizar operaciones de asignación y reducción en paralelo

Describe parallel_for, parallel_for_each, parallel_invoke, y otros algoritmos paralelos.Use algoritmos paralelos para solucionar problemas paralelos de los datos que implican colecciones de datos.

Contenedores y objetos paralelos

Cómo: Usar contenedores paralelos para aumentar la eficacia

Cómo: Usar la clase combinable para mejorar el rendimiento

Cómo: Usar la clase combinable para combinar conjuntos

Describe la clase de combinable, así como concurrent_vector, concurrent_queue, concurrent_unordered_map, y otros contenedores paralelos.Utilice contenedores y objetos paralelos cuando necesite los contenedores que proporcionan acceso seguro para subprocesos a sus elementos.

Procedimientos recomendados en la biblioteca de modelos paralelos

Procedimientos recomendados generales con el Runtime de simultaneidad

Proporciona sugerencias y los procedimientos recomendados para trabajar con la biblioteca PPL.

Cancelar tareas y los algoritmos paralelos

Cancelación en la biblioteca PPL

Describe el rol de cancelación en PPL, incluso cómo iniciar y responder a las solicitudes de cancelación.

Cómo: Usar la cancelación para interrumpir un bucle Parallel

Cómo: Usar el control de excepciones para interrumpir un bucle Parallel

Muestra dos mecanismos para cancelar el trabajo dato- paralelo.

Aplicaciones de almacén de Windows

Crear operaciones asincrónicas en C++ para aplicaciones de la Tienda Windows

Describe algunos de los puntos clave para tener en cuenta cuando se usa el runtime de simultaneidad para generar operaciones asincrónicas en una aplicación de Tienda Windows.

Tutorial: Conectar usando tareas y solicitud HTTP XML (IXHR2)

Muestra cómo combinar tareas de PPL con interfaces de IXMLHTTPRequest2 y de IXMLHTTPRequest2Callback de enviar HTTP GET y OF ENVIAR solicitudes a un servicio web en una aplicación de Tienda Windows.

Ejemplos de la implementación del almacén de Windows

Contiene ejemplos de código descargables y aplicaciones de demostración para Windows 8.Ejemplos de C++ utilizan características del runtime de simultaneidad como tareas de PPL de procesar datos en segundo plano para mantener el UX respuesta.

Programación de flujo de datos en la biblioteca de agentes asincrónicos

Agentes asincrónicos

Bloques de mensajes asincrónicos

Funciones que pasan mensajes

Cómo: Implementar varios modelos productor-consumidor

Cómo: Proporcionar funciones de trabajo a las clases call y transformer

Cómo: Usar la clase transformer en una canalización de datos

Cómo: Seleccionar tareas completadas

Cómo: Enviar un mensaje a intervalos periódicos

Cómo: Utilizar un filtro de bloque de mensaje

Describe los agentes asincrónicos, los bloques de mensajes, y mensaje- pasar las funciones, que son los bloques de creación para realizar operaciones de flujo de datos en el runtime de simultaneidad.

Tutorial: Crear una aplicación basada en agente

Tutorial: Crear un agente de flujo de datos

Muestra cómo crear aplicaciones agente-basadas básicas.

Tutorial: Crear una red de procesamiento de imagen

Muestra cómo crear una red de bloques de mensajes asincrónicos que realizan el procesamiento de imágenes.

Tutorial: Usar la clase join para evitar un interbloqueo

Usa el problema de la cena de los filósofos para mostrar cómo usar el runtime de simultaneidad para evitar el interbloqueo en la aplicación.

Tutorial: Crear un bloque de mensajes personalizado

Muestra cómo crear un tipo de bloque de mensajes personalizado que ordena los mensajes entrantes por prioridad.

Procedimientos recomendados en la biblioteca de agentes asincrónicos

Procedimientos recomendados generales con el Runtime de simultaneidad

Proporciona sugerencias y los procedimientos recomendados para ejecutar agentes.

Control de excepciones y depuración

Control de excepciones en el runtime de simultaneidad

Describe cómo trabajar con excepciones en el runtime de simultaneidad.

Herramientas de diagnóstico paralelo (Runtime de simultaneidad)

Le enseña cómo ajustar las aplicaciones y hacer un uso más eficaz del runtime de simultaneidad.

Rendimiento de optimización

Herramientas de diagnóstico paralelo (Runtime de simultaneidad)

Le enseña cómo ajustar las aplicaciones y hacer un uso más eficaz del runtime de simultaneidad.

Instancias del programador

Cómo: Administrar una instancia del programador

Directivas del programador

Cómo: Especificar directivas de programador concretas

Cómo: Crear agentes que usen directivas de programador específicas

Muestra cómo trabajar con administran las instancias de programador y directivas de programador.Para las aplicaciones de escritorio, las directivas de programador permiten asociar reglas específicas con tipos concretos de cargas de trabajo.Por ejemplo, puede crear una instancia de programador para ejecutar algunas tareas con una prioridad elevada de subproceso y usar el programador predeterminado para ejecutar con otras tareas con la prioridad normal de subproceso.

Grupos de programación

Cómo: Usar grupos de programación para influir en el orden de ejecución

Muestra cómo utilizar los grupos de programación para affinitize, o grupo, tareas relacionadas.Por ejemplo, es posible que necesite un alto grado de emplazamiento entre tareas relacionadas cuando las tareas se benefician de ejecutarse en el mismo nodo del procesador.

Tareas ligeras

Explica cómo las tareas ligeras son útiles para crear el trabajo que no requiere el equilibrio de carga o cancelación, y cómo también resultan útiles para código existente que es adecuado para su uso con el runtime de simultaneidad.

Contextos

Cómo: Usar la clase Context para implementar un semáforo cooperativo

Cómo: Usar la suscripción excesiva para compensar la latencia

Describe cómo controlar el comportamiento de los subprocesos que se administran por el runtime de simultaneidad.

Funciones de administración de memoria

Cómo: Usar Alloc y Free para mejorar el rendimiento de la memoria

Describe las funciones de administración de memoria que el runtime de simultaneidad proporciona para ayudarle a asignar y liberar memoria de manera simultánea.

Recursos adicionales

Modelos y sugerencias de programación Async en Subproceso (Windows almacena aplicaciones mediante C++ y XAML)

Obtenga información sobre cómo se usa el runtime de simultaneidad para implementar operaciones asincrónicas de Subproceso, una aplicación de Tienda Windows mediante C++ y XAML.

Ejemplos de código para la biblioteca del runtime de simultaneidad y de modelo paralela en Visual Studio 2010

Proporciona aplicaciones de ejemplo y utilidades que muestran el runtime de simultaneidad.

Parallel Programming in Native Code blog

Proporciona artículos de blog detallados adicionales sobre la programación paralela en el runtime de simultaneidad.

Parallel Computing in C++ and Native Code forum

Le permite participar en los debates de la comunidad sobre el runtime de simultaneidad.

Programación paralela en .NET Framework

Le enseña el modelo de programación paralelo que está disponible en .NET Framework.

Vea también

Otros recursos

Referencia (Runtime de simultaneidad)