TGViewer
Типичный программист Типичный программист @tproger · 78.2K subscribers
Post #14863 3.59K
Почему ошибки конкурентности годами прячутся и как их искать

Один запрос за раз проходит тесты. Под нагрузкой меняется порядок операций, и код, который годами работал, внезапно падает. Например, общую map в Go безопасно читать из нескольких горутин, но запись без синхронизации может вызвать гонку данных или ошибку во время выполнения.

В разборе Бенджамина Кейна есть другой сценарий: сообщения приходят по порядку, но разные обработчики завершают второе раньше первого. Если операции зависят друг от друга, их нужно обрабатывать последовательно.

Практический набор для Go: запускать тесты с -race, подключить статический анализ и нагружать систему множеством одновременных запросов. С детектором гонок цифрам производительности доверять нельзя, зато редкий сбой проще поймать. Такие проверки стоит встроить в сборку, чтобы они не зависели от памяти разработчика.
  • ❤ 3
  • 👏 3
  • 👌 2
  • 🤔 1
  • 🤨 1
  • 👨‍💻 1
  • 🤝 1
  • 🤪 1
  • 🙊 1
  • 😎 1
More from @tproger
  1. Sep 30, 2026Selectel 8 октября проведёт юбилейный ТехноДень — свою флагманскую конференцию об ИТ-инфра…
  2. Sep 30, 2026Как устроены 3D-рендерер для Figma и сайт Depth Depth сокращает путь: для примерки 3D-моде…
  3. Sep 29, 202625 российских ИТ-компаний объединились для найма специалистов: ИТ-холдинг Т1 запустил карь…
  4. Sep 29, 2026Что показывает срез вакансий разработчиков в США на 1 сентября 2026 года В срез CronJobs в…
  5. Sep 29, 2026Сентябрь, учебный год, сессия не так далеко, как вы думаете. Это всё про вас? Тогда заглян…
  6. Sep 29, 2026Как собрать генеративное тестирование на Zig в 256 строк Для эксперимента с алгоритмом сог…
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 →