Java 쓰레드의 작고 소중한 보관함 ThreadLocal 을 아시나요?

ThreadLocal 은 Java 프로그램에서 사용되는 공통 클래스 중 하나로 이름에서 알 수 있듯이 스레드에 대한 로컬 변수를 저장하는 기능을 제공합니다.  ThreadLocal 에 저장된 변수는 서로 다른 스레드간에 간섭이 불가능하도록 격리되며 자체 스레드에서만 접근할 수 있습니다. Spring Webflux 와 같이 Worker Thread 에 대한 변경이 자주 발생할 수 있는 환경에서는 사용가치가 떨어지지만, Servlet 기반 웹서버나 Spring Batch 와 같은 단일 스레드로 로직을 수행할 수 있을때는 유용하게 쓰일수가 있습니다.(단, NIO 기반으로 웹서버를 운영하거나 내부적으로 병렬처리를 하는 솔루션을 쓴다면 일부 제대로 된 동작을 기대하기 어렵습니다) 첨부드린 링크에 ThreadLocal 에서 제공하는 API 와 사용 방법, 동작 원리등이 기술되어 있으니 궁금하신 분들께서는 참고하시면 좋겠습니다.

A Deep Dive into Java ThreadLocal

Medium

A Deep Dive into Java ThreadLocal

더 많은 콘텐츠를 보고 싶다면?

또는

이미 회원이신가요?

2022년 11월 30일 오전 3:12

 • 

저장 158조회 4,566

댓글 0