T1이 현재 값 100을 읽는다.
동시성 문제는 읽기와 쓰기 사이의 빈틈에 끼어든다
한 SQL 문 안에서는 안전해 보여도, 애플리케이션이 읽고 계산한 뒤 나중에 쓰면 그 사이에 다른 트랜잭션이 값을 바꿀 수 있다.
T2도 같은 100을 읽거나 먼저 갱신한다.
각 트랜잭션이 자기 애플리케이션에서 새 값을 계산한다.
나중에 쓴 절대값이 먼저 쓴 결과를 덮을 수 있다.
읽기와 쓰기가 하나의 보호된 작업으로 묶이지 않았다.
테스트에서는 드물고 운영의 타이밍에서 터진다.
잠금, 원자적 UPDATE, 버전 검사를 사용한다.