전역 메모리 상에 스레드만의 로컬 메모리 영역을 만들어 사용
특정 lock에 스레드가 몰릴 시 락에 한번 접근 할 때 데이터를 미리 많이 저장해두는 용 등으로 사용 가능
static ThreadLocal<string> ThreadName = new ThreadLocal<string>(
() => { return $"{Thread.CurrentThread.ManagedThreadId}"; });
static void ThreadID()
{
Console.WriteLine(ThreadName.Value);
}
ThreadLocal 생성 시 초기값을 설정하는 함수를 넣어서 사용할 수 있음