Saltear al contenido principal

Concurrencia de C ++ moderno en profundidad (C ++ 17/20)

Tomar Curso

Descripción

El lenguaje de programación C ++ se puede clasificar en muchos temas. Algunos dicen que es un lenguaje de programación de propósito general, otros dicen que es una versión orientada a objetos de C. Pero me gustaba categorizarlo bajo el lenguaje de programación del sistema. Una característica de cualquier lenguaje de programación de sistema, incluido C ++, es que el lenguaje debería poder ejecutarse más rápido en comparación con otros lenguajes como Java, etc.

El paradigma de C ++ dio un giro brusco con la introducción de los estándares C ++ 11. La diferencia más notable con la versión anterior es la introducción de un nuevo modelo de memoria. El modelo de memoria es la parte clave de cualquier lenguaje, y el desempeño de todas las funcionalidades depende de ese modelo de memoria del lenguaje. Con el nuevo modelo de memoria C ++, podemos aprovechar el tremendo poder de los modernos procesadores de múltiples núcleos.

Programar un código C ++ adecuado con un mejor mecanismo de recuperación de memoria es una tarea difícil. Pero si queremos codificar código seguro para subprocesos que pueda cosechar procesadores subrayados, la verdadera potencia es una tarea mucho más difícil. En este curso, analizaremos en profundidad las características de concurrencia de C ++, incluido el modelo de memoria. Implementaremos estructuras de datos y algoritmos seguros para subprocesos, tanto de manera basada en bloqueos como sin bloqueos. Las implementaciones adecuadas sin bloqueos de estructuras de datos y algoritmos proporcionarán resultados de rendimiento sin precedentes. Permítanme enumerar los aspectos clave que cubrimos en este curso a continuación.

1.Básicos de la concurrencia de C ++ (subprocesos, mutex, package_task, futuro, asíncrono, promesa)

Implementación segura de subprocesos basada en bloqueos de estructuras de datos y algoritmos.

3.Modelo de memoria C ++.

Implementación libre de bloqueos de estructuras de datos y algoritmos.

5.Características de concurrencia de C ++ 20.

5. Mecanismo de recuperación de memoria adecuado para estructuras de datos sin bloqueo.

6. Diseño de aspectos de código concurrente.

7. Discusión en profundidad sobre grupos de subprocesos.

8. Sección adicional sobre programación CUDA con C y C ++.

Ver Comentarios del Curso

Volver arriba