락과 데드락

락의 개념

A라는 사람이 락을 걸면 B라는 사용자는 대기해라

T1이 락을 걸면 해당 락 상태가 풀릴 때까지 T2는 읽을 수 없는 상태로 대기를 해라

① 갱신 손실 문제를 해결하려면 상대방 트랜잭션이 데이터를 사용하는지 여부를 알 수 있는 규칙이 필요함. = 해당 규칙이 바로 ‘락’ 이라는 개념 ② 데이터를 수정 중이라는 사실을 알리는 방법의 잠금 장치임

스크린샷 2022-01-19 오후 3.52.43.png

위의 표 처리 과정은 아래와 같다.

스크린샷 2022-01-19 오후 3.54.16.png

① 버퍼 X를 읽어서 A에 저장 ② A를 버퍼 X에 쓰기 ③ 버퍼 X를 읽어서 B에 저장 ④ B를 버퍼 X에 쓰기

락의 유형

① 락은 트랜잭션이 읽기를 할 때 사용하는 락인 **공유락(LS, shared lock)**과 읽고 쓰기를 할 때 사용하는 **배타락(LX, exclusive lock)**으로 나뉨.