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

EraseDa님의 프로필 이미지
EraseDa

작성한 질문수

스프링 핵심 원리 - 기본편

좋은 객체 지향 설계의 5가지 원칙의 적용

hashmap동시성 문제

해결된 질문

작성

·

359

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

[질문 내용]
MemoryMemberRepository에 HashMap을 사용할 경우 동시성 문제가 발생할 수도 있다고 하셨는데,

 

여러 객체나 클래스에서 MemoryMemberRepository에 접근할 경우도 있으니까 그 문제를 언급해주셨던 걸까요? 어느 측면에서의 동시성 문제인지 궁금해서 질문남깁니다

답변 1

1

안녕하세요. ITLAM님, 공식 서포터즈 y2gcoder입니다.

동시성 문제라는 건 보통 쓰레드와 관련지어 생각할 수 있는 문제입니다. 현재 강의에서 들으면서 저희는 한 번에 하나의 요청만 보내고 있습니다. 하지만 실무 상황에서는 멀티 쓰레드 환경이고, 보통 동시에 많은 요청이 들어오는 경우가 많습니다. 그럴 때 store가 HashMap으로 되어있고 쓰레드들이 동시에 store로 접근하여 값을 변경하기 시작하면 문제가 생길 수 있습니다. 반면 HashTable이나 ConcurrentHashMap은 thread-safe하게 설계되어 있어 이런 멀티 쓰레드 환경에서 안전하게 사용할 수 있습니다.

감사합니다.

EraseDa님의 프로필 이미지
EraseDa

작성한 질문수

질문하기