설 연수
하하호홓
설 연수
전체 방문자
오늘
어제
  • 분류 전체보기 (231)
    • Back-End (2)
      • Java (20)
      • JSP (13)
      • Spring (18)
      • Kotlin (0)
      • node.js (0)
    • Front-End (68)
      • JavaScript (19)
      • jQuery (39)
      • Angular (4)
      • HTML (5)
    • Dev-Ops (12)
      • Linux, Cloud (5)
      • docker, k8s (5)
      • ElasticSeach (2)
    • Other (33)
      • OOP (3)
      • 알고리즘 (2)
      • DB (12)
      • Git (1)
      • Swift (4)
    • Backup (65)

블로그 메뉴

    공지사항

    인기 글

    태그

    • Redis
    • angular4
    • Angular
    • angular 콜백
    • 404 error
    • flex
    • 크로스도메인
    • Kafka
    • docker
    • CORS
    • RESTful
    • mongodb
    • angular callback
    • page not found
    • MYSQL
    • 패스트캠퍼스
    • jOOQ
    • INVALID
    • jquery invalid
    • angular2

    최근 댓글

    최근 글

    티스토리

    hELLO · Designed By 정상우.
    설 연수

    하하호홓

    ThreadLocal
    Back-End/Java

    ThreadLocal

    2022. 3. 27. 13:52

    https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B3%A0%EA%B8%89%ED%8E%B8/dashboard

     

    스프링 핵심 원리 - 고급편 - 인프런 | 강의

    스프링의 핵심 원리와 고급 기술들을 깊이있게 학습하고, 스프링을 자신있게 사용할 수 있습니다., - 강의 소개 | 인프런...

    www.inflearn.com


    스프링프레임워크를 사용하다보면 멤버변수를 선언해서 여러메서드에서 활용하도록 구현하는 개발자들을 종종 볼 수 있다.

    스프링빈은 싱글톤으로 생성되기때문에,
    멀티쓰레드 환경에서 싱글톤의 멤버변수를 각 쓰레드들이 쓰고 지우고 하다보면 데이터가 엉켜서 버그를 유발하는 원인이 될 수 있다.

    ThreadLocal은 해당 쓰레드만이 접근할 수 있는 저장소를 말한다.
    각 쓰레드마다 별도의 내부 저장소를 갖게되며, 같은 인스턴스의 ThreadLocal 멤버변수를 다른 쓰레드가 접근해도 문제가 발생하지 않는다.

     

    사용방법

    ThreadLocal<String> nameStore = new ThreadLocal<>();

     

    주의사항

    해당 쓰레드가 ThreadLocal을 사용하고 난 뒤, 저장된값을 제거해주어야 한다.
    필히 remove를 호출하자.

    'Back-End > Java' 카테고리의 다른 글

    MySQL-jOOQ BigDecimal 캐스팅 다루기  (0) 2022.03.26
    인텔리J Entity Class에 @Table(name), @Column(name) 빨간줄 끄는방법  (0) 2020.06.12
    [TDD] Mockito  (0) 2020.05.08
    JAVA 자소 분리된 단어 합치기  (2) 2020.04.30
    직접 작성해보는 java map, filter, reduce, curry  (0) 2019.10.28
      'Back-End/Java' 카테고리의 다른 글
      • MySQL-jOOQ BigDecimal 캐스팅 다루기
      • 인텔리J Entity Class에 @Table(name), @Column(name) 빨간줄 끄는방법
      • [TDD] Mockito
      • JAVA 자소 분리된 단어 합치기
      설 연수
      설 연수

      티스토리툴바