작성한 질문수
재고시스템으로 알아보는 동시성이슈 해결방법
작성
·
344
0
안녕하세요. 테스트 코드에 보이는 쿼리에 대해 질문이 있습니다!
테스트 코드를 실행시키면 getLock 쿼리가 쭉나오고 releaseLock 쿼리가 쭉 나오고 있는데요
Lock을 반환시켜야만 lock을 획득할 수 있다면 getLock() releaseLock() 순서로 반복되는 쿼리가 나와야 하는게 맞지 않나요?
답변 1
yesrin 님 안녕하세요.getLock 메소드를 실행했을 때 다른락이 점유중이라면 기다렸다가 락을 가져오게 됩니다.그렇기때문에 n 개의 스레드가 모두 getLock 메소드를 먼저 실행하게 됩니다.그로 인하여 getLock 쿼리가 먼저 나오게 되는 것 입니다.감사합니다.