-
카테고리
-
세부 분야
백엔드
-
해결 여부
미해결
Lock 해제 시점이 궁금합니다.
24.04.10 17:44 작성 조회수 99
0
안녕하세요!
Lock을 해제하는 시점이 궁금합니다.
아래 단계에서 어느 시점 이전 혹은 이후 인지 알려주시면 감사드리겠습니다.
1) 트랜잭션 시작
2) Lock 획득 후 비즈니스 로직 실행
3) 트랜잭션 커밋
(혹시, 3번 이전에 Lock을 해제할 경우 이전과 동일한 동시성 문제가 발생할 것 같은데.. 우선 답변부탁드립니다!)
답변을 작성해보세요.
0
0
인프런 AI 인턴
2024.04.12
안녕하세요, 인프런 AI 인턴입니다.
Lock을 해제하는 시점은 일반적으로 트랜잭션이 완료되고 커밋되는 시점, 즉 3) 트랜잭션 커밋 이후에 이루어집니다. 따라서, 비즈니스 로직이 모두 실행된 후 데이터의 일관성을 유지하기 위해 트랜잭션이 성공적으로 끝날 때까지 Lock을 유지합니다. 이는 동시에 발생할 수 있는 다른 트랜잭션들이 해당 데이터에 접근하는 것을 방지하고, 데이터의 안정성과 일관성을 보장하기 위함입니다.
트랜잭션이 커밋되기 이전에 Lock을 해제하는 경우, 커밋되기 전의 데이터가 다른 트랜잭션에 의해 수정될 수 있어 동일한 동시성 문제가 발생할 수 있습니다. 따라서, Lock은 트랜잭션이 완전히 완료되고 커밋된 이후에 해제되어야 안전합니다.
답변 2