threading.local 와 ContextVar 는 둘 다 데이터를 격리하고 동적으로 할당한다는 점에서 유사한 목적을 가지고 있지만 사용되는 상황과 특징이 조금 다르다. 이 글에서는 둘의 공통점과 차이점을 예제 코드와 함께 비교해보고자 한다. threading.local threading.local 은 각 스레드마다 고유한 데이터를 가질 수 있게 해준다. 아래 예제 코드를 살펴보자. import threading # threading.local 객체 생성 thread_local_data = threading.local() def 스레드_울음소리(): thread_local_data.value = "끼룩끼룩!" def 스레드_동물호출(): value = getattr(thread_local_data, ..