작성한 질문수
스프링 핵심 원리 - 고급편
쓰레드 로컬 - 주의사항
해결된 질문
작성
·
346
2
안녕하세요.
수업을 듣다가 궁금하여 질문드립니다..
FiedlLogTrace는 빈으로 등록하여 작동하니, 동시성 문제가 있어 쓰레드 로컬을 사용하였는데
@Controller, @Service 이러한 것들도 빈으로 등록이 되는 것인데 이러한 것들은 동시성 문제와 관련이 없는건가요?
바보같은 질문이지만.. 감사합니다.
답변 1
3
안녕하세요. 레완님, 공식 서포터즈 y2gcoder입니다.
중요한 질문해주셔서 감사합니다. :) 말씀하신 것처럼 bean들은 싱글톤처럼 동작하기 때문에 동시성 문제가 발생할 수 있습니다. 그렇기 때문에 Controller, Service에서는 상태값을 저장하는 필드를 두지 않습니다.
반면 이번에 만들어준 FieldLogTrace 는 상태값을 저장하는 필드가 있기 때문에 threadLocal을 사용해서 쓰레드마다 값을 분리해서 저장해준 것입니다.
감사합니다.