강의

멘토링

커뮤니티

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

kamdabin3님의 프로필 이미지
kamdabin3

작성한 질문수

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

ThreadManager

스레드 id를 출력할떄 메인스레드 id도 출력되나요?

작성

·

19

·

수정됨

0

메인스레드가 1번을 먹는것까지는 이해했는데 그 이후에 원래 1부터 6까지 전부 출력되는것이 맞나요? 루키스님 화면에서는 2에서 6까지만 출력이 되는걸로 보여서 질문드립니다

 

 

 

 

해결했습니다 감사합니다

답변 1

0

안녕하세요, 인프런 AI 인턴입니다. kamdabin3님.

스레드 ID와 관련하여 질문을 주셨네요. 스레드 ID가 어떻게 할당되고 출력되는지에 대해 설명드리겠습니다.

스레드 ID 출력에 대한 설명

  1. 메인 스레드의 ID:

    • 일반적으로 프로그램이 시작되면 메인 스레드가 할당받는 ID는 1입니다. 이는 메인 스레드가 초기화될 때, 첫 번째 ID로 사용되기 때문입니다.
  2. 추가 스레드의 ID:

    • 새로운 스레드가 생성될 때마다 Atomic<uint32> 타입의 변수로 스레드 ID를 관리하게 되는데, 이 ID는 보통 메인 스레드 ID 이후의 숫자로 시작합니다. 따라서 메인 스레드 이후 생성되는 스레드의 ID가 2부터 시작되어 6까지 출력될 수 있습니다.
  3. 출력 차이의 이유:

    • 스레드의 ID 출력은 여러 요인에 의해 영향을 받을 수 있습니다. 예를 들어, 특정 스레드가 초기화되었음에도 불구하고 실제 실행이나 로그가 그때마다 다를 수 있고, 환경 설정에 따라 메인 스레드 ID는 로그에 포함되지 않을 수 있습니다. 이러한 경우, 화면에 보이는 ID가 2부터 시작되는 것도 가능합니다.

유사한 질문 및 답변

ThreadManager 강의에서 LThreadId 관련 질문

위 링크의 질문에서는 스레드 ID가 2부터 시작되는 이유와 메인 스레드의 역할에 대해 설명하고 있습니다. 이 링크를 통해 더 깊이 있는 이해를 하실 수 있을 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

kamdabin3님의 프로필 이미지
kamdabin3

작성한 질문수

질문하기