노트코드
노트코드
노트코드

블로그 메뉴

  • 홈
  • 이력서
  • 이전 블로그
  • 글쓰기
  • 관리자페이지
  • 분류 전체보기 (57)
    • 코틀린 (2)
      • 실무 프로젝트로 배우는 Kotlin & Sprin.. (2)
    • JAVA (1)
      • 디자인패턴 (1)
      • 객체지향 5대원칙 (0)
    • SPRING (32)
      • JPA (11)
      • 스프링시큐리티 (1)
      • 스프링 (8)
      • QueryDsl (1)
      • 스프링배치 (11)
    • AZURE (0)
    • ETC (10)
      • MAVEN (0)
      • GIT (0)
      • ReMind (3)
      • Exception (1)
      • CS (6)
    • 책 (8)
      • 이것이 자바다 (8)

최근 글

최근 댓글

태그

  • JPA
  • 스프링
전체 방문자
오늘
어제
hELLO · Designed By 정상우.
노트코드

노트코드

SPRING/스프링

[스프링 핵심 원리-고급] 쓰레드 로컬 주의사항

2022. 1. 22. 01:58

  1. 기본적으로 WAS는 쓰레드풀에서 쓰레드를 관리하고, 요청이 들어오면 쓰레드 하나를 꺼내서 사용한다.
  2. ThreadLocal를 사용하여 특정 데이터를 저장 처리한다.(전용 데이터를 보관중)

  1. 해당 작업이 끝나고 thread-A를 쓰레드풀에 반환하지만, 해당 쓰레드를 메모리에서 반환하는게 아닉 때문에,
    ThreadLocal에는 이전에 사용하던 데이터가 남아있게된다.
  2. 그다음 요청이 들어왔을때 하필 그 thread-A가 할당되면, 기존 데이터와 혼선이 발생함

해결방안?

- 요청을 받아 처리가 끝나면 ThreadLocal.remove()를 통해 꼭 제거한다.

'SPRING > 스프링' 카테고리의 다른 글

[스프링 핵심 원리-고급] 템플릿 콜백 패턴  (0) 2022.01.27
[스프링 핵심 원리 -고급] 전략패턴  (0) 2022.01.27
[스프링 핵심 원리-고급] 템플릿 메서드 패턴  (0) 2022.01.25
[스프링 핵심 원리-고급] ThreadLocal  (0) 2022.01.21
[스프링 핵심 원리-고급]필드 동기화 -동시성 문제  (0) 2022.01.21
    'SPRING/스프링' 카테고리의 다른 글
    • [스프링 핵심 원리 -고급] 전략패턴
    • [스프링 핵심 원리-고급] 템플릿 메서드 패턴
    • [스프링 핵심 원리-고급] ThreadLocal
    • [스프링 핵심 원리-고급]필드 동기화 -동시성 문제
    노트코드
    노트코드
    노션 블로그에서 티스토리로 이전공사중

    티스토리툴바