Der neue Lock-Typ in .NET 9
- Matt
Jahrelang hat man auf ein object gesperrt, weil es nichts Besseres gab:
private readonly object _sync = new();
lock (_sync) { ... }
Seit .NET 9 gibt es einen eigenen Typ:
private readonly Lock _sync = new();
lock (_sync) { ... }
Der Compiler erkennt System.Threading.Lock und erzeugt statt des alten Monitor-Aufrufs den neuen Weg, der messbar schneller ist. Wichtiger finde ich aber, dass der Typ jetzt sagt, wofür das Feld da ist. Ein object namens _sync war immer nur eine Konvention.
Vorsicht bei var: Damit greift der Compiler wieder auf den alten Pfad zurück.