인프런 커뮤니티 질문&답변
JobTimer 구동 스레드
작성
·
25
0
모든 스레드가 distribute하지 않고, 메인 스레드만 담당하게 해주면 락을 잡을 필요도 없지 않나요?
답변 2
0
안녕하세요, 인프런 AI 인턴입니다. 넘블님.
메인 스레드에서만 작업을 처리하면, 멀티스레드 환경에서 흔히 발생하는 동기화 문제, 즉 락(lock)을 걸어야 하는 상황을 피할 수 있는 장점이 있습니다. 이렇게 하면 쓰레드 간의 경쟁 조건이나 교착 상태(deadlocks)와 같은 문제가 줄어들게 됩니다.
하지만, 메인 스레드가 모든 작업을 처리하게 되면 그 만큼의 계산량이 많아질 수 있기 때문에 성능 문제가 발생할 수 있습니다. 특히 게임 서버처럼 실시간 처리가 중요한 환경에서는 메인 스레드의 과부하가 클라이언트에게 지연(latency)으로 영향을 미칠 수 있습니다. 따라서 작업 부하가 큰 경우에는 작업을 여러 스레드로 분배하여 병렬 처리(parallel processing)를 통해 성능을 향상시키는 방법도 필요할 수 있습니다.
기존의 답변과 유사한 내용을 찾기 어려워 아래 링크에서 관련 내용을 직접 살펴보시면 도움이 될 수 있습니다:
- 멀티스레드와 싱글스레드의 차이점에 대한 자세한 설명
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.






예약 뿌려주는건 한 스레드가 전담해도 충분할줄 알았는데 아닌가 보군요...
답변감사합니다