TGViewer
C# (C Sharp) programming C# (C Sharp) programming @csharp_ci · 18.1K subscribers
Post #564 4.64K
Потокобезопасность - это правильный подход к реализации одноэлементного шаблона.

Но знаете ли вы, что "блокировка" - очень дорогостоящая операция?
Как это оптимизировать?

Используйте механизм блокировки двойной проверки.

Блокировка двойной проверки используется для гарантии того, что экземпляр Singleton создается только один раз, даже при доступе из нескольких потоков.

Двойная проверка блокировки - это метод, при котором вы сначала проверяете условие блокировки (известное как "подсказка о блокировке"), фактически ничего не блокируя.

Этот метод используется для пропуска ненужных шагов блокировки. Вы приступаете к блокировке только в том случае, если первая проверка показывает, что это необходимо.

@csharp_ci
More from @csharp_ci
  1. Oct 17, 2026🌐 Новый `HttpClient` на каждый запрос? Под нагрузкой это может закончиться исчерпанием по…
  2. Oct 16, 2026🛠 У .NET появился свой аналог rustup и nvm Microsoft представила dotnetup: менеджер для у…
  3. Oct 16, 2026Запрос проходит через несколько сервисов, обращается к базе данных и внешним API. Пользова…
  4. Oct 16, 2026Post #1907
  5. Oct 15, 2026Что на самом деле происходит с вашим async-методом: компилятор C# переписывает его в конеч…
  6. Oct 14, 2026Helm-чарты прямо из C#, без запуска `helm` 🛠 HelmSharp позволяет рендерить шаблоны и упра…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →