TGViewer
Библиотека задач по C# | тесты, код, задания Библиотека задач по C# | тесты, код, задания @csharp_problems_lib · 4.94K subscribers
Post #1265 1.18K
В высоконагруженном сервисе на .NET вы используете ConcurrentDictionary<TKey, TValue> и вызываете GetOrAdd с фабричным делегатом, который выполняет дорогую инициализацию (например, обращение к БД). Что нужно учитывать?

👾 — GetOrAdd гарантирует, что фабричный делегат вызовется ровно один раз для каждого ключа
🤔 — Фабричный делегат может быть вызван несколько раз для одного ключа при конкурентном доступе, но в словарь попадёт только одно значение
🥰— ConcurrentDictionary блокирует весь словарь на время выполнения фабрики
⚡️ — Использовать Lazy<TValue> в качестве значения, чтобы гарантировать однократную инициализацию
👍 — Варианты 2 и 4 верны

Библиотека задач по C#
  • 👍 8
More from @csharp_problems_lib
  1. Sep 15, 2026Что выводит Console.WriteLine("Hello".ToUpper());? 👾 — HELLO 👍 — hello 🥰 — Error ⚡️ — Н…
  2. Sep 15, 2026😭 Как не потратить недельный лимит AI-кодинга за три дня? Разберём на вебинаре, как трати…
  3. Sep 8, 2026⚡️⚡️Актуальные темы .NET на DotNext 2026 В .NET одновременно происходит много интересного:…
  4. Aug 4, 2026Какое ключевое слово C# используется для изменения данных и поведения базового класса путе…
  5. Aug 4, 2026👅 Самое сложное — выбрать не курс, а направление Сегодня хочется разобраться в AI-агентах…
  6. Aug 4, 2026Покупать новый курс каждый раз, когда меняется рабочая задача, — довольно странная механик…
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 →