Статья в Википедии об этом довольно приличная:
Контроль параллелизма
Но в основном проблемы параллелизма случаются каждый раз, когда данные, которые использует транзакция, изменяются другой транзакцией.
Итак, допустим, я получил первые 100 строк из базы данных.Кто-то другой вносит изменения в строку 5. Затем я пытаюсь изменить строку 5, основываясь на ее прочтении.
Или случай вставки.
Допустим, я вытащил всех детей зав школу, и хотите выяснить, сколько из них имеют имена, начинающиеся с A. Затем кто-то добавляет еще 10 детей, начинающихся с A. Это проблема параллелизма.
У вас могут быть плохие вещи из вставки, которая вызывает что-то, что происходитчто вы не ожидали быть в базе данных.
Например:
Джон имеет остаток задолженности в 1000 долларов, он приходит в онлайн, чтобы оплатить свой счет, в течение этого времени происходит транзакция, котораязаставляет его задолжать еще 100 долларов (вставить) (всего 1100 долларов).Он полностью платит свои 1000 долларов, что вызывает что-то, чтобы установить все его задолженные остатки на 0 (он заплатил все те, что мы получили, поэтому мы говорим ааа, давайте просто установим все на 0).Эта транзакция в 100 долларов теперь очищена без фактической оплаты.