- Thread마다 각자의 스택영역이 존재하며
 - Heap(new), 데이터(static)은 공유해서 쓴다.
 -  
하지만 여기서 빠진 영역이 하나있는데 그 영역이 Thread Local Storage(TLS)이다.
 - TLS는 어떠한 경우에 쓸까?
 - Heap, 데이터 영역에 데이터를 항상 읽어쓰기에는 경합이 자주발생해 속도가 느릴수 있다.
 -  
TLS에 Heap, 데이터 영역의 데이터를 미리 복사해 놓고 사용하게 된다.
 - 그럼 스택과 무슨차이인가?
 - 스택은 함수내에서 사용하는 불안정적인 데이터이다.
 - 한 Thread에서 사용할 데이터의 저장은 TLS에 저장해 두는것이 맞다
 
// __declspec(thread) int32 value;  // 이전방식
thread_local int32 LThreadId = 0;   // TLS 선언
void ThreadMain(int32 threadId)
{
    LThreadId = threadId;
    while(true)
    {
        cout << "Hi I am Thread " << LThreadId << endl;
        this_thread::sleep_for(1s);
    }
}
int main()
{
    vector<thread> threads;
    for(int32 i = 0; i < 10; i++)
    {
        int32 threadId = i + 1;
        threads.push_back(thread(ThreadMain, threadId));
    }
    for(thread& t : threads)
        t.join();
}