TGViewer
C++ Academy C++ Academy @cpluspluc · 15.5K subscribers
Post #1521 3.05K
🖥 C++26 закрывает одну из самых больных тем lock-free кода - безопасное удаление памяти.

Проблема не в atomics.

Проблема в том, что один поток уже убрал узел из структуры, а другой всё ещё может его читать.

Удалишь слишком рано, получишь use-after-free.

Поэтому в C++26 стандартизируют Hazard Pointers.

Идея простая:

поток заранее помечает объект как “я сейчас его читаю”.

Пока хотя бы один reader держит такой hazard pointer, объект нельзя удалять.

Удаление откладывается до момента, когда все читатели закончат работу.

Это делает lock-free структуры вроде стеков, очередей и списков намного безопаснее.

Lock-free программирование становится не магией, а чуть более нормальным инженерным инструментом.
  • 🔥 15
  • ❤ 6
  • 👍 4
More from @cpluspluc
  1. Sep 22, 2026Физически корректный ray tracer всего в 99 строках C++ smallpt от Kevin Beason - один из с…
  2. Sep 22, 2026⚡️ Как спроектировать ИИ-агента над корпоративными данными 6 октября в 17:00 мск пройдёт н…
  3. Sep 22, 2026Лицо C++-разработчика, когда он написал 6000 строк кода, чтобы обогнать твои 4 строки на P…
  4. Sep 18, 2026Как посчитать миллиарды уникальных значений, используя всего несколько килобайт памяти Для…
  5. Sep 17, 2026⚙️ useful_abstractions - вычисления на этапе компиляции в C++23 Библиотека упрощает работу…
  6. Sep 17, 2026Разница между C++ и Python
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 →