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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions