
В статье автор расскажет как создать LockFreeArray, массив фиксированного размера, без блокировок, для хранения распределенных в куче значений. Он использует атомарные вычисления и свободный список для вставки и получения значений в потоках без блокировок.
Вы узнаете: как работают Atomic, AtomicUsize и compare_exchange; почему порядок в памяти имеет значение (и как его исправить); где такие вещи полезны (слоты задач, пулы фиксированных ресурсов).