- Read committed. Любые операции записи, выполняемые транзакцией, становятся видны другим транзакциям только после фиксации данной (после чего становятся видимы результаты сразу всех ее операций записи).

В этом случае пользователь 2 увидит новое значение x=3 только после того, как пользователь 1 его зафиксирует (сделает commit).
Что будет если две транзации попытаются конкурентно обновить один объект в БД? В этом случае СУБД откладывает выполнение второй транзации до тех пор пока первая (начавшася ранее) транзакция не будет зафиксирована или прервана.
Изоляция Read committed не спасает от состояния гонки (race condition) другими словами здесь наблюдается "потерянное обновление". Допустим, два клиента одновременно увеличивают значение счетчика, хранимого в базе данных. Каждый из них должен прочитать текущее значение, добавить 1 и записать новое значение обратно