인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

yesrin님의 프로필 이미지
yesrin

작성한 질문수

재고시스템으로 알아보는 동시성이슈 해결방법

NameLock에서 getLock releaseLock 순서

작성

·

344

0

안녕하세요. 테스트 코드에 보이는 쿼리에 대해 질문이 있습니다!

테스트 코드를 실행시키면 getLock 쿼리가 쭉나오고 releaseLock 쿼리가 쭉 나오고 있는데요

Lock을 반환시켜야만 lock을 획득할 수 있다면 getLock() releaseLock() 순서로 반복되는 쿼리가 나와야 하는게 맞지 않나요?

 

답변 1

0

최상용님의 프로필 이미지
최상용
지식공유자

yesrin 님 안녕하세요.
getLock 메소드를 실행했을 때 다른락이 점유중이라면 기다렸다가 락을 가져오게 됩니다.
그렇기때문에 n 개의 스레드가 모두 getLock 메소드를 먼저 실행하게 됩니다.
그로 인하여 getLock 쿼리가 먼저 나오게 되는 것 입니다.
감사합니다.

yesrin님의 프로필 이미지
yesrin

작성한 질문수

질문하기