Qualquer pergunta de um PROFI para um SUPER PROFI - 1. - página 29

 
sergeev:

ao fechar a alça, a memória (que foi alocada além da especificada no CreateFileMapping) não será revertida?
É liberado. Mas está no final. Temos que salvar a memória em tempo de execução.
 
ao final de quê? o final da vitória ou o fechamento de uma mão cheia ou o fechamento de uma aplicação?
 
sergeev:
ao final de quê? o final da vitória ou o fechamento de uma mão cheia ou o fechamento de uma aplicação?
Qualquer um deles para escolher. Mesmo assim, é o fim.
 
ah, bem, se está fechando o cabeçalho, então eu não acho que haja vazamento de memória, é a maneira normal do Windows liberar memória quando um cabeçalho é apagado
 

É de alguma forma errado liberar a memória enquanto se corre, fechando o descritor.

A memória deve ser liberada sem a esperança de Windos.

 
MSDN para Mapeamento não diz nada sobre a liberação manual da memória antes de fechar o manipulador.
 
sergeev:
MSDN para Mapeamento não diz nada sobre a liberação manual da memória antes de fechar o manipulador.
Bem, não me refiro depois de fechar a maçaneta. Enquanto trabalhamos com a memória, precisamos redimensioná-la dinamicamente. Mas você não tem que fazer isso o tempo todo. A realocação constante leva tempo.
 

Vadim, o que estamos analisando exatamente?

Encontrei duas maneiras de expandir a memória. Você acha que haverá problemas com vazamentos de memória em ambos os casos?

 

Se todos os descritores estiverem fechados, não há vazamentos. O vazamento é quando um programa é descarregado, mas deixa os recursos ocupados.

Mas pode haver problemas com o consumo excessivo de memória. Eu mesmo tive tais problemas não faz muito tempo. Conectei classe errada para trabalhar com timeseries. Acrescentei uma classe que indexa tic-tac por segundos. Começou a utilizar esta classe para trabalhar com barras mensais. Ele comeu toda a memória em 30 segundos. Esta é uma das variantes possíveis. Devemos monitorar este tipo de coisas e alertar sobre elas.

O segundo caso é quando o programa precisa de muita memória, por exemplo, 1000 Mb, mas não por muito tempo. Se você não o liberar, os outros programas terão menos 1000 MB até que seu programa seja descarregado.

Em resumo, você precisa acompanhar o consumo de recursos.

 
OK. Vou levar isso em consideração.
Razão: