Verhindern der Garbage Collection für kurze Zeit in .NET
In Hochleistungsanwendungen, die große Datenmengen verarbeiten, kann Garbage Collection (GC) eingeführt werden Verzögerungen in kritischen Phasen. In diesem Artikel werden Strategien zum vorübergehenden Anhalten von GC und zum Minimieren seiner Auswirkungen behandelt.
Kann GC für das gesamte Programm angehalten werden?
Ja, .NET 4.6 hat das eingeführt Methoden GC.TryStartNoGCRegion und GC.EndNoGCRegion. Damit können Sie eine „No-GC-Region“ erstellen, in der GC nicht ausgeführt wird.
Beispiel:
using System; using System.Runtime.CompilerServices; public class NoGCRegion { public static void RunNoGC(Action action) { GC.TryStartNoGCRegion(); action(); GC.EndNoGCRegion(); } }
Verwendung von GC.Collect() um die Garbage Collection zu erzwingen
Ja, Sie können die Garbage Collection mit erzwingen GC.Collect(), aber die Dauer des GC-freien Zeitraums ist nicht garantiert. GC wird ausgeführt, bis alle geeigneten Objekte gesammelt sind.
Müllsammlung minimieren
Um den Bedarf an GC zu reduzieren:
Das obige ist der detaillierte Inhalt vonKann ich die Garbage Collection in .NET für Hochleistungsanwendungen vorübergehend anhalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!