-
예약하기 관련 서비스 코드


-
예약하기 관련 레포지토리 코드

-
테스트 코드

3가지 상황으로 테스트 코드를 수행한 결과입니다.
- synchronized 만 사용 : 2명 다 예약 성공
- 비관적 락만 사용 : 1명의 예약이 성공했으나 데드락 발생
- synchronized + 비관적 락 : 성공적으로 1명만 예약
개인적으로 학습해봤으나 1), 2), 3) 의 결과가 잘 이해가 되지 않아 질문 남깁니다.
직접 코드로 타이핑해서 남기고 싶었으나 잘 안 돼 이미지로 남기는 점 죄송합니다.
혹시 직접 코드를 확인하고 싶으시다면
ReserveServie.java
ReserveRepository.java
CloneProjectBeApplicationTests.java
이렇게 3개의 파일에서 확인하실 수 있습니다!!