프로그램 연구를 할 때 객체 보존 문제는 항상 우리의 관심사였습니다. 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의 객체 저장 및 획득입니다. 핵심은 집합 사용을 마스터하는 것입니다. 이 방법이 충분히 능숙하지 않다면 수업 후에 더 많이 연습해야 합니다.