Alle Fragen von einem PROFI an einen SUPER PROFI - 1. - Seite 29
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Wenn ein Handle geschlossen wird, wird der Speicher (der über den in CreateFileMapping angegebenen Speicherplatz hinaus zugewiesen wurde) nicht wieder zurückgegeben?
am Ende von was? dem Ende des Gewinns oder dem Abschluss einer Handvoll oder dem Abschluss einer Anwendung?
Es ist in gewisser Weise falsch, im laufenden Betrieb Speicher freizugeben, indem man den Deskriptor schließt.
Der Speicher sollte ohne die Hoffnung auf Windos befreit werden.
Alles, was Sie zugewiesen haben, haben Sie gelöscht. MSDN für Mapping sagt nichts über das manuelle Freigeben von Speicher vor dem Schließen des Handlers
Vadim, was genau analysieren wir?
Ich habe zwei Möglichkeiten gefunden, den Speicher zu erweitern. Glauben Sie, dass es in beiden Fällen Probleme mit Speicherlecks geben wird?
Wenn alle Deskriptoren geschlossen sind, gibt es keine Lecks. Von Leakage spricht man, wenn ein Programm entladen wird, aber Ressourcen belegt bleiben.
Es kann jedoch zu Problemen mit übermäßigem Speicherverbrauch kommen. Ich hatte vor nicht allzu langer Zeit selbst solche Probleme. Ich habe die falsche Klasse für die Arbeit mit Zeitreihen verbunden. Ich habe eine Klasse hinzugefügt, die Ticks nach Sekunden indiziert. Ich habe mit dieser Klasse begonnen, um mit monatlichen Balken zu arbeiten. Es hat den gesamten Speicher in 30 Sekunden verbraucht. Dies ist eine der möglichen Varianten. Wir sollten diese Art von Dingen überwachen und vor ihnen warnen.
Der zweite Fall ist, wenn das Programm viel Speicherplatz benötigt, z. B. 1000 MB, aber nicht für eine lange Zeit. Wenn Sie es nicht freigeben, werden die anderen Programme 1000 MB weniger haben, bis Ihr Programm entladen ist.
Kurz gesagt, Sie müssen den Ressourcenverbrauch im Auge behalten.