# ThreadLocal

[Spring] CreatedBy, LastModifiedBy 필드를 Controller에서 바꿔치기 하는 법(feat.템플릿-콜백 패턴)
Spring 내부 기능을 통해 자동 주입되는 객체를 Bean 내에서 수정해봤다.
동시성 문제와 ThreadLocal
동시성 문제는 멀티 스레드 환경에서 여러 스레드가 하나의 자원에 접근했을 때 발생할 수 있는 문제이다. 물론 여러 스레드가 자원에 접근해서 읽기 작업만을 수행한다면 문제가 없지만, 쓰기 & 수정 작업이 이뤄진다면 문제가 있다. 동시성 문제가 발생하는 상황은 다음과 같다

동시성 문제해결 ThreadLocal
동시성 문제는 지역 변수에서는 발생하지 않는다. 지역 변수에서는 쓰레드마다 각자 다른 메모리 영역에 할당되기 때문이다.단순 조회작업이 아닌, 수정작업이 있을때 동시성 문제가 발생한다.userA가 자신의 Key값을 keyA로 설정하고, userB는 자신의 Key값을 ke

아이템 62. 다른 타입이 적절하다면 문자열 사용을 피하라
문자열은 다른 값 타입을 대신하기에 적합하지 않다.수치형이라면, int, float, BigInteger 등 적당한 수치 타입을 사용하자.'예/아니오' 질문의 답이라면, 적절한 열거 타입이나 boolean 타입을 사용하자.여러 요소가 혼합된 데이터(혼합 타입)인 경우,

[Spring] Transaction간 Connection 동기화 메커니즘
📚 Connection 동기화 물리 트랜잭션 내부적으로 각각의 논리 트랜잭션간에 트랜잭션을 유지하기 위해서는 논리 트랜잭션간에 동일한 Connection을 유지해야 한다 파라미터 Connection 동기화 테스트는 정상적으로 이루어졌고 이 트랜잭션 테스트간에 발생

Thread local
다수의 개발자들이자 잘 몰라서 활용을 잘못하는 기능이 있는데, 바로, thread 단위로 로컬 변수를 할당하는 기능이다! 이 기능은 threadlocal 클래스를 통해서 제공된다. : 일반 변수의 수명은 특정 코드 블록 범위 내에서만 유효하다. 반면에 ThreadLoc

[마이크로서비스] 회복성패턴, Resilience4j (6)
클라이언트 측 회복성 소프트웨어 패턴들은 에러나 성능 저하로 원격 자원이 실패할 때 원격 자원의 클라이언트가 고장나지 않게 보호하는데 중점을 둔다네 가지 클라이언트 회복성 패턴을 살펴보자아래 사진은 마이크로서비스에 대한 서비스 소비자와 마이크로서비스 사이에 어떻게 위치
[JAVA] ThreadLocal에 대하여
안녕하세요 여러분. 오늘 포스팅 할 내용은 자바 1.2 버전 부터 제공되고 있는ThreadLocal 클래스 입니다ThreadLocal - Thread 단위로 로컬 변수를 할당하는 기능일반 변수의 수명은 특정 코드 블록ex)method 범위, for블록 내의 범위 내에서
데브코스 W10D3
WAS의 경우 새로운 요청이 들어온 경우 큐에 적재되고 쓰레드 풀 내 하나의 쓰레드를 사용하여 처리하게 되는 방식으로 동작하게 된다.동일한 thread에서 실행되는 동안(하나의 요청을 처리하는 동안) 거치는 Controller, Service, Repository, 도

Spring Boot 동시성 문제 - ThreadLocal
일반적으로 두개 이상의 세션에서 공통된 데이터에 접근하여 읽거나 쓰는 작업이 이루어질 경우 발생 할 수 있는 문제위와 같은 프로세스가 있다고 가정했을때 두개의 쓰레드가 같은 자원을 두고 읽고 쓰는 작업을 하고있다.그러므로 더 늦게 시작한 Thread-B에 의해 Thre

<Spring> ThreadLocal
싱글톤으로 등록된 스프링 빈은 해당 객체의 인스턴스가 애플리케이션에 딱 1개만 존재한다. 이러한 인스턴스에 여러 쓰레드가 동시에 접근하면 문제가 발생한다. 이러한 문제를 동시성 문제라 한다.

[SpringBoot 핵심 원리] 쓰레드 로컬 - ThreadLocal (2)
ThreadLocal / ThreadLocal 동기화 / 주의사항
2021.10.29 TIL
스프링이 빈은 싱글톤으로 관리되며 공유 필드를 여러 쓰레드가 동시에 접근할 경우, 동시성 문제가 발생할 수 있다.동시성 문제를 해결하기 위한 방법 중 하나가 ThreadLocal을 사용하는 방법이다.ThreadLocal : 해당 Thread에서만 사용할 수 있는 값을
.png)
자바 - 쓰레드 로컬(ThreadLocal)
본 게시물은 스스로의 공부를 위한 글입니다.잘못된 내용이 있으면 댓글로 알려주세요!스프링에서 빈(bean)은 싱글톤으로 등록된다. 이 객체의 이느턴스가 애플리케이션에 딱 1개만 존재하는다는 뜻이다.이렇게 하나만 있는 인스턴스의 필드에 여러 쓰레드가 동시에 접근하면 동시

MDC 와 ThreadLocal
MDC 는 로그에 컨텍스트를 남기는 용도로 사용된다.MDC.put(k,v) , MDC.get(k) 를 이용하여 저장하고 읽을수가 있다.맵과 같은데 특징은 이 맵이 쓰레드 단위로 생성된다.웹프로그램의 가장 앞단인 필터에서 MDC 에 저장하고자 하는 값을 put 하면 된
[JAVA] ThreadLocal
ThreadLocal 어제 우아한 형제들 루터회관 14층에서 SLiPP 스터디 중간 세미나가 있었고, 우아한 테크 코스 크루 자격으로 참석할 수 있었다. 첫번째 세션에서 김문수님의 게임 재화 및 재화 로그 시스템 개발기 를 들었는데, ThreadLocal이란 용어를 처음 접하게 되었다. 궁금증이 생겨서 찾아보고 이해한 결과를 정리하고, 구현해본 코드를 ...