
프로그램 연구를 할 때 객체 보존 문제는 항상 우리의 관심사였습니다. ThreadLocal에도 동일한 작업이 존재하므로 객체를 저장하고 검색할 수 있습니다. 이를 위해서는 ThreadLocal에 대한 특정 이해와 해당 set 메소드 사용이 필요합니다. 아래에서는 ThreadLocal 저장 및 획득의 전체 작업 단계를 설명하고 특정 콘텐츠를 귀하와 공유합니다.
1. ThreadLocal의 설정 방법
공개 무효 집합(T 값) {
스레드 t = Thread.currentThread();
ThreadLocalMap 맵 = getMap(t);
if (맵 != null)
map.set(this, value);
또 다른
createMap(t, value);
} ThreadLocal의 set 메소드를 통해 ThreadLocalMap의 <k, v> 구조에서 키는 ThreadLocal 자체를 저장하고, 값은 실제 저장된 값, 즉 변수에 의해 복사된 복사본임을 알 수 있다. 현재 ThreadLocal은 ThreadLocalMap에 저장됩니다.
2. ThreadLocal 자체는 값을 저장하지 않습니다. ThreadLocal은 ThreadLocalMap에서 값을 가져오는 키로 사용됩니다.
공개 T get() {
스레드 t = Thread.currentThread();
ThreadLocalMap 맵 = getMap(t);
if (맵 != null) {
ThreadLocalMap.Entry e = map.getEntry(this);
if (e != null) {
@SuppressWarnings("선택 해제됨")
T 결과 = (T)e.값;
결과 반환;
}
}
setInitialValue()를 반환합니다.
}위는 Java ThreadLocal의 객체 저장 및 획득입니다. 핵심은 집합 사용을 마스터하는 것입니다. 이 방법이 충분히 능숙하지 않다면 수업 후에 더 많이 연습해야 합니다.