Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
lors de la fermeture d'un handle, la mémoire (qui a été allouée au-delà de celle spécifiée dans CreateFileMapping) n'est-elle pas récupérée ?
à la fin de quoi ? la fin du win dow ou la fermeture d'une poignée ou la fermeture d'une application ?
Il n'est pas correct de libérer la mémoire en cours d'exécution en fermant le descripteur.
La mémoire doit être libérée sans l'espoir de Windos.
MSDN pour Mapping ne dit rien sur la libération manuelle de la mémoire avant de fermer le gestionnaire.
Vadim, qu'est-ce qu'on analyse exactement ?
J'ai trouvé deux façons d 'étendre la mémoire. Pensez-vous qu'il y aura des problèmes de fuites de mémoire dans les deux cas ?
Si tous les descripteurs sont fermés, il n'y a pas de fuites. Il y a fuite lorsqu'un programme est déchargé mais laisse des ressources occupées.
Mais il peut y avoir des problèmes de consommation excessive de mémoire. J'ai moi-même eu de tels problèmes il n'y a pas si longtemps. J'ai connecté la mauvaise classe pour travailler avec les séries chronologiques. J'ai ajouté une classe qui indexe les ticks par secondes. J'ai commencé à utiliser cette classe pour travailler avec des barres mensuelles. Il a mangé toute la mémoire en 30 secondes. C'est l'une des variantes possibles. Nous devrions surveiller ce genre de choses et les mettre en garde.
Le deuxième cas est celui où le programme a besoin de beaucoup de mémoire, par exemple 1000 Mb, mais pas pour une longue période. Si vous ne le libérez pas, les autres programmes auront 1000 Mo de moins jusqu'à ce que votre programme soit déchargé.
En bref, vous devez suivre la consommation des ressources.