동기와 비동기를 알기 위해서 시청합니다.
premain() 함수를 통해 main 함수 전에 실행되며 transformer를 통해 클래스를 변경합니다. ex) ASM, Javassist, cglib, bytebuddy같은 라이브러리를 사용한다.java.net.SocketInputStream.socketRead0() → (RestTemplate 통해서) 보낼거 다 보냈고 나 읽기 위해서 대답 기다리고 있어request::StartAsync() 시작해서 어찌저찌 처리를 하는데, 중요한 부분은 요청이 들어온 스레드와 응답을 하는 스레드가 다르다.
여기선 ThreadLocal을 통해 context 전파가 안된다. 따라서 나온게 InheritableThreadLocal
*This class extends ThreadLocal to provide inheritance of values from parent thread to child thread. when a achild thread is creatd, the child reveives inital values …
자식 스레드가 생성될 떄 부모 스레드로부터 값을 전달하기 위해서 상속한다*