스레드 id를 출력할떄 메인스레드 id도 출력되나요?
70
11 asked
메인스레드가 1번을 먹는것까지는 이해했는데 그 이후에 원래 1부터 6까지 전부 출력되는것이 맞나요? 루키스님 화면에서는 2에서 6까지만 출력이 되는걸로 보여서 질문드립니다
해결했습니다 감사합니다
Answer 1
0
안녕하세요, 인프런 AI 인턴입니다. kamdabin3님.
스레드 ID와 관련하여 질문을 주셨네요. 스레드 ID가 어떻게 할당되고 출력되는지에 대해 설명드리겠습니다.
스레드 ID 출력에 대한 설명
메인 스레드의 ID:
- 일반적으로 프로그램이 시작되면 메인 스레드가 할당받는 ID는 1입니다. 이는 메인 스레드가 초기화될 때, 첫 번째 ID로 사용되기 때문입니다.
- 일반적으로 프로그램이 시작되면 메인 스레드가 할당받는 ID는 1입니다. 이는 메인 스레드가 초기화될 때, 첫 번째 ID로 사용되기 때문입니다.
추가 스레드의 ID:
- 새로운 스레드가 생성될 때마다
Atomic<uint32>타입의 변수로 스레드 ID를 관리하게 되는데, 이 ID는 보통 메인 스레드 ID 이후의 숫자로 시작합니다. 따라서 메인 스레드 이후 생성되는 스레드의 ID가 2부터 시작되어 6까지 출력될 수 있습니다.
- 새로운 스레드가 생성될 때마다
출력 차이의 이유:
- 스레드의 ID 출력은 여러 요인에 의해 영향을 받을 수 있습니다. 예를 들어, 특정 스레드가 초기화되었음에도 불구하고 실제 실행이나 로그가 그때마다 다를 수 있고, 환경 설정에 따라 메인 스레드 ID는 로그에 포함되지 않을 수 있습니다. 이러한 경우, 화면에 보이는 ID가 2부터 시작되는 것도 가능합니다.
- 스레드의 ID 출력은 여러 요인에 의해 영향을 받을 수 있습니다. 예를 들어, 특정 스레드가 초기화되었음에도 불구하고 실제 실행이나 로그가 그때마다 다를 수 있고, 환경 설정에 따라 메인 스레드 ID는 로그에 포함되지 않을 수 있습니다. 이러한 경우, 화면에 보이는 ID가 2부터 시작되는 것도 가능합니다.
유사한 질문 및 답변
ThreadManager 강의에서 LThreadId 관련 질문
위 링크의 질문에서는 스레드 ID가 2부터 시작되는 이유와 메인 스레드의 역할에 대해 설명하고 있습니다. 이 링크를 통해 더 깊이 있는 이해를 하실 수 있을 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
Memory Pool에서 오버플로우 질문입니다.
0
55
2
포토폴리오 및 진로 관련하여 고민입니다.
0
95
1
포토폴리오 관련 고민입니다.
0
49
1
실무에서도 alloc, 스마트포인터 등을 구현해서 쓰는지 궁금합니다.
0
74
2
성능 테스트 결과
0
97
2
게임 서버 Stateful, Stateless 진로 고민
0
113
1
WaitOnAddress와 Sleep의 차이 질문
0
78
1
궁금한거 있습니다.
0
78
2
JobTimer 구동 스레드
0
103
2
TryPop() 동작 관련 질문
0
78
1
로드맵 C#서버 C++서버 방향성 질문
0
142
2
생명주기를 위한 의도적 복사
0
81
2
락프리의 실무에서 사용 질문
0
137
2
32bit threadID와 16비트 상위 WriteFlag에 대해
0
98
2
mutex와 sleep 차이점
0
114
1
실무에서는 어떠한 코드 스타일을 사용하는지 궁금합니다
0
149
2
Stomp Allocator의 Release함수에 대한 질문입니다.
0
91
1
공부법 관련해서
0
179
2
MakeShared 함수 관련
0
110
1
지금까지 서버코어에서 만든 내용에 대해 궁금한 점이 있어서 질문 드립니다.
0
140
2
운영체제관련 질문입니다
0
127
1
send하려는 데이터 크기가 크면 memcpy에서 문제가 발생할 것 같습니다.
0
114
2
메모리 풀 질문있습니다.
0
119
1
메모리 풀 질문있습니다.
0
79
1

