Heim >Backend-Entwicklung >C++ >Wann ist es akzeptabel, GC.Collect() aufzurufen?
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()
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)
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!