IT Academy
Урок 5 · Продвинутый

Потоки, atomics и memory model

Объяснение → самостоятельное решение → разбор → практика курса

Объяснение

Data race возникает при несинхронизированном конфликтующем доступе к общей памяти. Atomic обеспечивает свойства отдельной операции, но не обязательно инварианта нескольких полей. Порядок памяти определяет видимость связанных записей.

Задача для самостоятельного решения

Два атомарных поля balance и reserved обновляются отдельно. Гарантирует ли это согласованный снимок?

Показать разбор ответа

Нет: читатель может увидеть новое balance и старое reserved. Для общего инварианта нужны mutex, версия снимка или специально доказанный алгоритм.

Примените знания

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

Открыть лабораторную →