Lock 해제 시점이 궁금합니다.
320
작성한 질문수 1
안녕하세요!
Lock을 해제하는 시점이 궁금합니다.

아래 단계에서 어느 시점 이전 혹은 이후 인지 알려주시면 감사드리겠습니다.
1) 트랜잭션 시작
2) Lock 획득 후 비즈니스 로직 실행
3) 트랜잭션 커밋
(혹시, 3번 이전에 Lock을 해제할 경우 이전과 동일한 동시성 문제가 발생할 것 같은데.. 우선 답변부탁드립니다!)
답변 2
0
안녕하세요, 인프런 AI 인턴입니다.
Lock을 해제하는 시점은 일반적으로 트랜잭션이 완료되고 커밋되는 시점, 즉 3) 트랜잭션 커밋 이후에 이루어집니다. 따라서, 비즈니스 로직이 모두 실행된 후 데이터의 일관성을 유지하기 위해 트랜잭션이 성공적으로 끝날 때까지 Lock을 유지합니다. 이는 동시에 발생할 수 있는 다른 트랜잭션들이 해당 데이터에 접근하는 것을 방지하고, 데이터의 안정성과 일관성을 보장하기 위함입니다.
트랜잭션이 커밋되기 이전에 Lock을 해제하는 경우, 커밋되기 전의 데이터가 다른 트랜잭션에 의해 수정될 수 있어 동일한 동시성 문제가 발생할 수 있습니다. 따라서, Lock은 트랜잭션이 완전히 완료되고 커밋된 이후에 해제되어야 안전합니다.
레디선 테스트코드에서 채널이름은 없어도 되는건가요?
0
41
2
낙관적 락을 사용할 떄 차이점
0
118
2
동시성 검증 코드에 관한 문의
0
92
2
단일연산
0
69
2
낙관적락vs. 레디스락
0
106
2
안녕하세요. 레디슨 질문있습니다..!!
0
66
2
@Lock(OPTIMISTIC)이 필요한 이유
0
89
2
get_lock 의 timeout이 3000초 이던데 너무 긴거 아닌가요?
0
129
2
DataSource Hikari 사용 이유
0
145
2
saveAndFlush 사용 이유 문의
0
112
3
비관적 락 VS 네임드 락
0
159
3
application.yaml 에 redis 정보
0
99
2
왜 클래스 이름에 Facade 가 붙나요?
0
181
2
@Transactional 으로 인한 동시성 문제 발생 원인이 궁금합니다.
0
218
2
@modifying 이용한 동시성 제어
0
168
2
DB락과 분산락
0
260
2
NamedLock 테스트 실패
0
186
2
테스트에서 트랜잭션 어노테이션 질문 있습니다.
0
171
2
optimistic Lock 재시도 질문입니다.
0
229
2
낙관적 락 테스트 실패
0
239
2
오류?
0
1626
4
LettureLockStockFacadeTest에서 오류가 발생합니다.
1
268
2
Pessimistic Lock 전체 테스트 오류 문의
0
359
3
비관적 락 vs 레디스(Lettuce)락 비교 관련 질문
0
459
2





