public class ThreadLocal {
private ThreadLocal() { } // 객체 생성 불가
// 현 스레드의 값을 키로 구분해 저장한다.
public static void set(String key, Object value);
// (키가 가리키는) 현 스레드의 값을 반환한다.
public static Object get(String key);
}
위 코드는 스레드 지역 변수 기능을 사용하여, 각 스레다 마다 자신만의 변수갖게 하여 스레드를 구분해 권환을 부여한다는 것인 것 까지는 이해했습니다.
위 코드의 문제점을 해결하기 위해 다음과 같은 코드를 사용하였는데, 코드 자체가 이해가 잘 되지 않습니다.
public final class ThreadLocal {
public THreadLocal();
public void set(Object value);
public Object get();
}
Key는 갑자기 어디로 갔고, 스레드 자체가 지역변수가 된다는게 잘 이해가 되지 않습니다.
혹시 간단하게 설명 부탁드려도 될까염
위 코드는 스레드 지역 변수 기능을 사용하여, 각 스레다 마다 자신만의 변수갖게 하여 스레드를 구분해 권환을 부여한다는 것인 것 까지는 이해했습니다.
위 코드의 문제점을 해결하기 위해 다음과 같은 코드를 사용하였는데, 코드 자체가 이해가 잘 되지 않습니다.
Key는 갑자기 어디로 갔고, 스레드 자체가 지역변수가 된다는게 잘 이해가 되지 않습니다.
혹시 간단하게 설명 부탁드려도 될까염