ThreadLocal(스레드로컬)
- 각 스레드마다 자신만이 쓸 수 있는 자원을 관리해주는 클래스
2가지 구현 방식이 있고 사용법은 간단하다.
1. ThreadLocal 객체화
ThreadLocal<String> threadLocal = new ThreadLocal<>();
threadLocal.set("test");
System.out.println(threadLocal.get());
2. ThreadLocal 상속 받은 클래스 객체화
initialValue() 메소드를 오버라이딩하여 초기값을 줄 수 있다(get() 호출 시 수행).
public class ThreadLocalHelper extends ThreadLocal<String> {
@Override
protected String initialValue() {
return "test";
}
}
3. 사용 방법
// 싱글톤으로 생성
ThreadLocalHelper<String> threadLocal = new ThreadLocalHelper<>();
// 스레드 최초 요청 시 또는 매번 요청 때마다
threadLocal.set(XXX);
// 필요한 곳에서 호출해서 사용
threadLocal.get();
// 요청이 최종으로 끝나면
threadLocal.remove();
끝.
'Java, JSP' 카테고리의 다른 글
Java에서 서로 다른 두 List 간 Join 방법 (0) | 2017.05.18 |
---|---|
메이븐 로컬저장소에 직접 등록 명령어 (0) | 2016.12.14 |
Apahce poi 엑셀 읽기(파싱) (0) | 2016.07.31 |
Java ServerSocket Multithereading 예제 (0) | 2016.04.25 |
Java 큐(Queue) 종류 및 특성 (0) | 2016.03.30 |
댓글