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

hoon님의 프로필 이미지
hoon

작성한 질문수

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

로그인 처리하기 - 세션 직접 만들기

세션에서 동시성 이슈가 발생할수 있다고 하셨는데

작성

·

472

0

어떤 상황에서 동시성 이슈가 발생하는 건가요???

세션은 혼자쓰는거 아닌가요??

답변 2

0

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. hoon님

세션은 혼자 사용하는 것이 맞습니다. 그런데 이 예제에서 세션을 관리하는 sessionStore는 여러 세션에서 동시에 접근하겠지요?

예를 들어서 동시에 2명의 사용자가 들어와서 세션을 2개 동시에 만들어야 한다면 이때 다음 메서드가 동시에 호출될 수 있습니다.

sessionStore.put()

이때 HashMap의 경우 동시에 접근하면 HashMap 내부에서 데이터가 깨지는 문제가 발생할 수 있습니다.

따라서 이런 경우 concurrenthashmap을 사용해야 안전합니다.

감사합니다.

0

hoon님의 프로필 이미지
hoon
질문자

동시성 떄문에 세션에 concurrenthashmap 쓰는것에 대한 질문입니다.

hoon님의 프로필 이미지
hoon

작성한 질문수

질문하기