Compartir por


Funciones de administración de memoria

Este documento 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.

Sugerencia

Runtime de simultaneidad proporciona un programador predeterminado, por lo que no deberá crear uno en la aplicación. El Programador de tareas permite ajustar el rendimiento de las aplicaciones por lo que, si no está familiarizado con Runtime de simultaneidad, se recomienda comenzar con la biblioteca de modelos paralelos (PPL) o la biblioteca de agentes asincrónicos.

El Runtime de simultaneidad proporciona dos funciones de administración de memoria optimizadas para asignar y liberar bloques de memoria de forma simultánea. La función concurrency::Alloc asigna un bloque de memoria mediante el tamaño especificado. La función concurrency::Free libera la memoria asignada por Alloc.

Nota:

Las Alloc funciones y Free dependen una de la otra. Use la función Free solo para liberar memoria que asigne mediante la función Alloc. Además, cuando use la función Alloc para asignar memoria, use solo la función Free para liberar esa memoria.

Use las funciones Alloc y Free al asignar y liberar un conjunto fijo de tamaños de asignación de diferentes subprocesos o tareas. El Runtime de simultaneidad almacena en caché la memoria que asigna desde el montón de runtime de C. El Runtime de simultaneidad contiene una caché de memoria independiente para cada subproceso en ejecución; por consiguiente, el runtime administra la memoria sin el uso de bloqueos ni barreras de memoria. Una aplicación se beneficia más de las funciones Alloc y Free cuando se accede a la caché de memoria con más frecuencia. Por ejemplo, un subproceso que llama a Alloc y Free con frecuencia beneficia más que un subproceso que llama a Alloc o Free principalmente.

Nota:

Cuando se usan estas funciones de administración de memoria y la aplicación usa mucha memoria, la aplicación puede especificar una condición de memoria baja antes de lo esperado. Dado que los bloques de memoria almacenados en caché por un subproceso no están disponibles para ningún otro subproceso, si un subproceso contiene mucha memoria, esa memoria no está disponible.

Ejemplo

Para obtener un ejemplo en el que se usan las funciones Alloc y Free para mejorar el rendimiento de la memoria, consulte Cómo usar Asignar y Liberar para mejorar el rendimiento de la memoria.

Consulte también

Programador de tareas
Procedimiento para usar Alloc y Free para mejorar el rendimiento de la memoria