Pinned Object Heap (POH)
Eintrag zuletzt aktualisiert am: 03.04.2020
Der
Garbage Collector verbessert u.a. den Umgang mit sogenannten an angehefteten
Objekten (Pinned Objects), die man in C# mit dem Schlüsselwort "fixed" erstellt (nur in "unsafe"-Programmcodeblöcken erlaubt). Pinned Objects dürfen bei einer Garbage Collection nicht in andere Speicherbereiche verschoben werden. Für die Pinned Objects führt Microsoft in
.NET 5.0 Preview 2 eine separate Behandlung bei der Speicherverwaltung ein, indem diese nun in einem eigenen Hauptspeicherbereich (Pinned Objects Heap – POH) verwaltet werden. Die bisherigen Generationen-Heaps (0 bis 2, siehe Fundamentals of garbage collection [
https://docs.microsoft.com/en-us/dotnet/standard/garbage-collection/fundamentals]) müssen damit keine Sonderbehandlung für die Pinned Objects mehr durchführen. Bisher schon gab es einen eigenen Heap für große
Objekte (
Large Object Heap -
LOH)