- 운영체제는 스레드의 실행 준비 여부와 상관없이 모든 스레드에 CPU 시간 배정
- 예를 들어 소켓으로 들어올 데이터 기다리는 스레드는 데이터가 들어오기 까지 수천 번 이상 CPU 시간 배정받아 낭비함
- 동시성이 높을수록(예를 들어 스레드가 10,000 개, 운영체제 설정으로 가능하다 할때) 스레드 수로 인한 오버헤드가 처리율에도 영향을 미침
- 10000 개의 동시 접속을 처리하기 어려워지는 확장성의 문제를 C10k 문제라함
요즘에는 C10m. 현재 장벽은 초당 100만에서 1000만개의 접속을 처리하는 것
스레드로는 이문제 해결 불가. 다른 접근법 필요. 하지만 스레드 도입이유 다시 생각해보자. 애초에 스레드 도입 이유는 블로킹 연산을 처리하기 위함임!