인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

서버취업할껍니다님의 프로필 이미지
서버취업할껍니다

작성한 질문수

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

Thread Local Storage에 관련해서 질문드립니다!

작성

·

186

0

선생님 수업을 잘 듣고있는 취준생입니다!

Thread Local Storage에 관련해서 질문이 있는데, 전역 변수로 thread_local int32 LThreadId; 이렇게 만들어 놓은 상태로 실행되고 있는 프로그램의 쓰레드 수를 4개라고 가정했을 때, 메모리는 어떻게 잡히는 건가요?

일단 전역에 4바이트, 그리고 각 쓰레드마다 4바이트씩 잡히는 건가요? (총 20 바이트 맞나요...?)

Thread Local Storage가 각 Thread 마다 각자의 공간의 독립성을 유지하고 있다면 차지하는 부분도 있을텐데 너무 궁금해서 질문을 드렸습니다.

답변 1

1

Rookiss님의 프로필 이미지
Rookiss
지식공유자

엄청 신비로운 것은 아니고, 쓰레드가 만들어질 때 전용 스택 공간이 할당되는 것처럼
'동일 쓰레드 내부에 한해서 전역인' TLS 공간도 같이 할당되는 것입니다.
(메인 쓰레드도 결국 쓰레드이다보니 마찬가지겠죠.)

아하 드디어 이해되었습니다!! 감사합니다!

서버취업할껍니다님의 프로필 이미지
서버취업할껍니다

작성한 질문수

질문하기