Java count++ 경쟁 조건과 synchronized·Lock·AtomicInteger 선택
count++의 lost update를 출발점으로 synchronized, ReentrantLock, AtomicInteger와 CAS의 선택 기준을 비교한다.
count++의 lost update를 출발점으로 synchronized, ReentrantLock, AtomicInteger와 CAS의 선택 기준을 비교한다.
Java 스레드와 InnoDB 트랜잭션에서 잠금 순서가 엇갈릴 때 생기는 deadlock과 예방·복구 방법을 비교한다.
한 트랜잭션이 행을 수정하는 동안 일반 SELECT와 locking read가 어떻게 다르게 동작하는지 InnoDB의 잠금과 MVCC로 설명한다.
sys.innodb_lock_waits, INNODB_TRX, 실행 계획을 연결해 waiter·blocker·잠긴 인덱스와 트랜잭션 시간을 찾는 순서를 제시한다.