решение

Второй случай — цифры упростим до наглядных. На счёте фермера 100. Он запустил два вывода по 80 одновременно — в приложении и на сайте. Каждая операция сделала честно:

1. прочитать баланс        → 100
2. проверить: 80 ≤ 100 ?   → да, ок
3. списать 80              → баланс -= 80

Обе прочитали 100, обе увидели «хватает», обе списали. Итог: −60. Ни одна не сделала ничего «неправильного» по отдельности.

два вывода · одна проверка баланса
проверил, списалпроверил, списалвывод Aчитает баланс: 100вывод Bчитает баланс: 100баланс = 100лимит вывода: 80оба списали по 80 → −60

Обе операции прочитали 100, обе решили «хватает», обе списали. Проблема — в порядке чтения и записи.

Что это за аномалия — и как её по-настоящему лечить?

клавиши 1–4 или клик

← назад