21.10.22 16:27 작성
·
637
0
답변 1
5
2021. 10. 22. 22:54
1. 절대 아닙니다.
2. CPU 코어 개수랑 동일하게 만들어서 실행되는 상태가 가장 아름다운 상황입니다.
따라서 보통 쓰레드 개수를 CPU 코어 개수 * 1.5 정도로 하는 경우가 많습니다.
context switching 비용 때문에 그 이상으로 쓰레드를 만들면,
오히려 쓰레드 교체 비용 때문에 역효과를 냅니다.
위 부분은 면접에서 매우 매우 자주 나오는 질문이니 기억해주시면 좋습니다.
2022. 08. 04. 17:27
이상적인 상황이 항상 유지되지 않기 때문입니다
실제로 운영체제는 아주 많은 프로그램들을 동시에 실행하고 있고
스케줄링 정책을 통해 실행 시간을 부여하는데
이런 부분들 때문에 실제 코어 갯수보다는 조금 더 많이 쓰레드를 생성하는게
'실험적으로' 성능이 좋습니다.
다만 (Xbox, PS등)콘솔이나 일부 환경에서는
정말로 코어 개수만큼 쓰레드를 생성하기도 하고
애당초 운영체제가 게임에 맞게 특화되어 있습니다.
2022. 08. 04. 17:19
말씀하신대로라면, 코어 개수와 동일하게 만들어 실행되는 상태가 가장 아름다운 상황임에도 불구하고 코어개수의 1.5배만큼 스레드를 생성하는 이유는 무엇입니까?