Atomic не делает составное выражение атомарным
Отдельные load и store теряют конкурентные обновления. Read-modify-write или compare-exchange связывает переход с фактически наблюдавшимся значением.
rust / УРОВЕНЬ 4
ТЕОРИЯ / ВОСПРОИЗВЕДЕНИЕ
Отдельные load и store теряют конкурентные обновления. Read-modify-write или compare-exchange связывает переход с фактически наблюдавшимся значением.
Relaxed достаточно независимому статистическому счётчику, который не публикует другую память. Для видимости связанных записей нужна acquire/release-связь.
КОНТРОЛЬНАЯ ТОЧКА
02 / РЕАЛИЗАЦИЯ
Реализуйте lock-free saturating add: возвращайте новое значение, не допускайте wraparound и не теряйте конкурентные increments. Счётчик не синхронизирует другие данные.
Runner ждёт отправки кода.