Cualquier pregunta de un PROFI a un SUPER PROFI - 1. - página 29
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
cuando se cierra un handle, ¿no se revierte la memoria (que se ha asignado por encima de la especificada en CreateFileMapping)?
¿al final de qué? ¿al final del win dow o al cierre de un puñado o al cierre de una aplicación?
De alguna manera es incorrecto liberar memoria mientras se ejecuta cerrando el descriptor.
La memoria debe ser liberada sin la esperanza de Windos.
:) ¿de qué otra forma se podría liberar? todo lo que has asignado, lo has borrado. MSDN para Mapping no dice nada sobre liberar manualmente la memoria antes de cerrar el manejador
Vadim, ¿qué estamos analizando exactamente?
He encontrado dos formas de ampliar la memoria. ¿Crees que habrá problemas de fugas de memoria en ambos casos?
Si todos los descriptores están cerrados, no hay fugas. Una fuga es cuando un programa se descarga pero deja recursos ocupados.
Pero puede haber problemas de consumo excesivo de memoria. Yo mismo tuve esos problemas no hace mucho tiempo. Conecté una clase equivocada para trabajar con series de tiempo. He añadido una clase que indexa los ticks por segundos. Comenzó a utilizar esta clase para trabajar con barras mensuales. Se comió toda la memoria en 30 segundos. Esta es una de las posibles variantes. Deberíamos vigilar este tipo de cosas y advertir sobre ellas.
El segundo caso es cuando el programa necesita mucha memoria, por ejemplo, 1000 Mb, pero no durante mucho tiempo. Si no lo libera, los otros programas tendrán 1000 MB menos hasta que su programa se descargue.
En definitiva, hay que llevar un control del consumo de recursos.