TGViewer
Senior C++ Developer Senior C++ Developer @seniorcpp · 11.6K subscribers
Post #3214 1.49K
std::atomic

std::atomic является частью библиотеки <atomic>, которая была введена в C++11 для поддержки операций с атомарностью. Атомарные операции гарантируют, что операции будут выполнены как единое, неделимое действие, что особенно важно в многопоточном программировании, чтобы избежать состояний гонки.

std::atomic может быть использован в любом месте, где требуется безопасность потоков, например, при обновлении глобальных или общих переменных в многопоточной среде.

В этом примере у нас есть глобальная переменная counter, которую мы хотим инкрементировать в двух разных потоках. Без использования std::atomic мы могли бы столкнуться с состоянием гонки (race condition), когда оба потока пытаются обновить counter одновременно. Однако, поскольку мы используем std::atomic<int>, каждое обновление counter является атомарной операцией, и состояние гонки не происходит.
More from @seniorcpp
  1. Oct 4, 2026Избавляемся от макросов В целом, разработчики стандарта стараются исключить препроцессор.…
  2. Oct 1, 2026malloc стал безопасен В предыдущих версиях использование низкоуровневых функций, унаследов…
  3. Sep 30, 2026Алгоритм copy_n Используется для копирования элементов из одного контейнера в другой.
  4. Sep 28, 2026Упрощаем код с помощью if constexpr и концептов C++17/C++20 Смотреть статью
  5. Sep 27, 2026#вопросы_с_собеседований Как следует обрабатывать ошибки во время выполнения в C++? — Ошиб…
  6. Sep 25, 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 →