Heim >Backend-Entwicklung >C++ >Wann ist es akzeptabel, GC.Collect() aufzurufen?

Wann ist es akzeptabel, GC.Collect() aufzurufen?

Linda Hamilton
Linda HamiltonOriginal
2025-01-24 17:42:12114Durchsuche

When is it Acceptable to Call GC.Collect()?

Der Zeitpunkt der Verwendung von GC.Collect sorgfältig

Obwohl es nicht empfohlen wird, in bestimmten Fällen in bestimmten Fällen direkt

aufzurufen, ist dies angemessen. Wenn der Dienst beispielsweise kreisförmige Weise ausgeführt wird und nach der Ausführung der Aufgabe die Aufgabe in einem freien Zustand befindet, erzwungene Müllwiederherstellung während der freien Stufe, um den durch den Fehler besetzten Speicher freizusetzen, was die Ressourcenauslastungsrate optimieren kann.

GC.Collect() Eine weitere akzeptable Situation ist, nachdem das große Fenster in der GUI -Anwendung ausgeschaltet wurde. Zu diesem Zeitpunkt erfüllen alle UI -Kontrollen den Zustand des Müllrecyclings, und die kurzfristige Leistungsabnahme während der Schließung des Fensters ist möglicherweise nicht der Fall. Daher ist es vernünftig, die GC -Sammlung zu starten.

Zusätzlich müssen die folgenden Situationen möglicherweise auch in Betracht ziehen,

:

aufzurufen GC.Collect()

Wenn Sie schlüssige Beweise dafür haben, dass eine große Anzahl von Objekten (insbesondere die ersten und zweiten Generationen) für die Wiederherstellung von Müll bereit sind, und die Auswirkungen des Recyclings zu diesem Zeitpunkt die geringsten Auswirkungen auf die Leistung haben.
  • Aus dem .NET 4.5 wird empfohlen,
  • für die obligatorische Ausführung vollständig GC zu verwenden oder zu verlassen.
  • GCLatencyMode.LowLatency Verwenden Sie .NET 4.6, Sie können die GCLatencyMode.SustainedLowLatency -Methode verwenden, um GC für einen bestimmten Zeitraum zu deaktivieren. Es wird empfohlen, vor und nach diesem Zeitraum einen vollständigen GC manuell auszulösen. GC.Collect(2, GCCollectionMode.Forced)
  • Diese Ausnahmen unterstreichen die Bedeutung der vorsichtigen Operation beim Aufrufen von GC.TryStartNoGCRegion. Bewerten Sie vor dieser Entscheidung unbedingt die spezifische Umgebung und potenzielle Leistungseffekte.

Das obige ist der detaillierte Inhalt vonWann ist es akzeptabel, GC.Collect() aufzurufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn