Der neue Lock-Typ in .NET 9

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.