Race condition — ситуация, когда результат зависит от порядка или времени конкурентных действий. Типичный пример: два запроса читают старое значение и перезаписывают изменения друг друга.
Есть так называемое состояние гонки (race condition). Знаешь про такое?
Race condition — ситуация, когда результат зависит от порядка или времени конкурентных действий. Типичный пример: два запроса читают старое значение и перезаписывают изменения друг друга.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Race condition — ситуация, когда результат зависит от порядка или времени конкурентных действий. Типичный пример: два запроса читают старое значение и перезаписывают изменения друг друга.
Допустим, оба запроса видят остаток один и независимо разрешают покупку. Проверка в приложении до записи не защищает от такого чередования. Нужны атомарное обновление с условием, ограничение БД, блокировка или подходящий уровень изоляции с повторами. Выбор зависит от бизнес-инварианта. Race condition шире понятия data race: логическая гонка возможна даже без одновременного небезопасного доступа к памяти, например между последовательными сетевыми операциями.