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

이준수님의 프로필 이미지
이준수

작성한 질문수

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

회원 도메인과 리포지토리 만들기

4분 20초에 동시성에 문제가 있을수 있다고 말씀해주셨는데요.

작성

·

363

0

[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? 예
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예
3. 질문 잘하기 메뉴얼을 읽어보셨나요? 아니오

[질문 내용]
4분 20초에 실무에서는 동시성을 고려해야 할수 있다고 말씀해주셨는데요.

저코드에서 동시성에 관련된 문제가 어떻게 발생이 되는지 알려주시면 감사하게습니다.

답변 1

2

안녕하세요. 이준수님, 공식 서포터즈 David입니다.

.


시퀀스를 하나씩 업데이트하여 회원을 저장하게 됩니다

멀티스레드로 동작하는 애플리케이션의 경우 AtomicLong과 같이 threadSafe한 타입을 사용하지 않는다면 이미 A스레드에 의해 증가된 시퀀스가 B스레드가 들고 있던 값으로 덮어쓰여질 수 있습니다.

현재 코드 구조로는 동일한 시퀀스에 대한 예외처리도 없기 때문에 Map에 동일한 시퀀스를 가지게 되는 요소가 존재할 수 있게 됩니다.

Atomic 계열의 클래스를 왜 사용하는지에 대한 자세한 설명은 아래 글 "Atomic 계열의 클래스" 섹션을 확인해주세요.

https://bestugi.tistory.com/41
.
감사합니다.

이준수님의 프로필 이미지
이준수

작성한 질문수

질문하기