Depository of News

Поменяли object на Lock, и два потока встретились в критической секции

newsdepo.com · world

В .NET 9 появился новый примитив синхронизации System.Threading.Lock , и многие команды начали заменять привычные object -замки на новый тип в поисках более предсказуемого поведения и производительности. Но такая замена меняет саму механику работы lock : достаточно одного места, где экземпляр потеряет свой тип, чтобы два участка кода перестали синхронизироваться между собой. В статье разберемся, как именно устроена новая модель блокировок в C#, где компилятор помогает заметить проблему, а где она остаётся скрытой, и стоит ли переходить на Lock ради заявленных преимуществ. Разобраться глубже

Read full article →