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

레오나님의 프로필 이미지
레오나

작성한 질문수

스프링 핵심 원리 - 고급편

쓰레드 로컬 - 주의사항

쓰레드로컬관련 질문이 있습니다.

해결된 질문

작성

·

346

2

안녕하세요.

수업을 듣다가 궁금하여 질문드립니다..

 

FiedlLogTrace는 빈으로 등록하여 작동하니, 동시성 문제가 있어 쓰레드 로컬을 사용하였는데

@Controller, @Service 이러한 것들도 빈으로 등록이 되는 것인데 이러한 것들은 동시성 문제와 관련이 없는건가요?

 

바보같은 질문이지만.. 감사합니다.

답변 1

3

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

중요한 질문해주셔서 감사합니다. :) 말씀하신 것처럼 bean들은 싱글톤처럼 동작하기 때문에 동시성 문제가 발생할 수 있습니다. 그렇기 때문에 Controller, Service에서는 상태값을 저장하는 필드를 두지 않습니다.

반면 이번에 만들어준 FieldLogTrace 는 상태값을 저장하는 필드가 있기 때문에 threadLocal을 사용해서 쓰레드마다 값을 분리해서 저장해준 것입니다.


감사합니다.

레오나님의 프로필 이미지
레오나

작성한 질문수

질문하기