Вопросы к Поиску с Алисой
Проблема race condition (состояния гонки) при многопоточном программировании заключается в ситуации, когда несколько потоков (или процессов) одновременно пытаются выполнить операции чтения или записи к общим ресурсам без должной синхронизации. habr.com
Из-за этого конечное состояние общего ресурса становится неопределённым, что может приводить к различным ошибкам, которые проявляются в непредсказуемые моменты времени. ru.wikipedia.org habr.com Основными последствиями могут быть утечки памяти, ошибки сегментирования, порча данных, уязвимости, взаимные блокировки, утечки других ресурсов, например файловых дескрипторов. ru.wikipedia.org
Пример: два потока могут одновременно запросить базу данных и подтвердить, что код скидки ещё не был применён к корзине, затем оба попытаются применить скидку, в результате чего она будет применена дважды. habr.com