• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

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

22.09.04 19:16 작성 조회수 237

1

안녕하세요.

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

 

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

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

 

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

답변 1

답변을 작성해보세요.

2

y2gcoder님의 프로필

y2gcoder

2022.09.04

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

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

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


감사합니다.