Skip to content

동시성 문제(2명이 동시에 겹치는 일정으로 숙소를 예약하는 경우) 핸들링 #38

@seonminKim1122

Description

@seonminKim1122
  1. 예약하기 관련 서비스 코드
    image
    image

  2. 예약하기 관련 레포지토리 코드
    image

  3. 테스트 코드
    image

3가지 상황으로 테스트 코드를 수행한 결과입니다.

  1. synchronized 만 사용 : 2명 다 예약 성공
  2. 비관적 락만 사용 : 1명의 예약이 성공했으나 데드락 발생
  3. synchronized + 비관적 락 : 성공적으로 1명만 예약

개인적으로 학습해봤으나 1), 2), 3) 의 결과가 잘 이해가 되지 않아 질문 남깁니다.

직접 코드로 타이핑해서 남기고 싶었으나 잘 안 돼 이미지로 남기는 점 죄송합니다.

혹시 직접 코드를 확인하고 싶으시다면

ReserveServie.java
ReserveRepository.java
CloneProjectBeApplicationTests.java

이렇게 3개의 파일에서 확인하실 수 있습니다!!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions