NoGCRegion
Eintrag zuletzt aktualisiert am: 10.08.2015
Eine "NoGCRegion" ist eine Neuerung in
.NET Framework 4.6: Mit System.GC.TryStartNoGCRegion() und EndNoGCRegion() kann der Entwickler eine Coderegion definieren, in der der Garbage Collection nicht arbeiten soll. Dabei gibt der Entwickler bei TryStartNoGCRegion() eine Anzahl von Bytes an, die sowohl auf dem
Small Object Heap als auch dem
Large Object Heap zur Verfügung stehen müssen. Alternativ kann man die Werte getrennt festlegen mit der Überladung GC.TryStartNoGCRegion Method (
Int64,
Int64).
Wenn zu Beginn diese Speichermenge nicht bereitsteht, findet eine volle, blockierende Garbage Collection vor Eintritt in die Coderegion statt. Innerhalb der NoGCRegion findet eine Garbage Collection nur statt, wenn GC.Collect() explizit aufgerufen wird oder aber die angegebene Speichermenge ausgeschöpft ist.
Siehe
http://msdn.microsoft.com/library/system.gc.trystartnogcregion.aspx
http://msdn.microsoft.com/library/system.gc.endnogcregion.aspx