그림 1-15는 이 상황을 그림으로 표현한 것입니다.
▲ 그림 1-15 CPU 하나로만 연산을 처리하는 안타까운 상황
4코어 CPU를 쓴다고 가정했지만, 실제로는 CPU 1개만 사용되고 있습니다.4
이 문제를 해결하려면 멀티스레드로 프로그램이 작동되게 만들어야 합니다. 멀티스레드나 멀티프로세싱을 사용해서 여러 CPU를 쓰는 별도의 프로그래밍 노력을 해야 하는 지금 상황을 빗대어 “공짜 점심은 끝났다!”라고 말하기도 합니다.5
4 여러분 이해를 돕고자 일부러 CPU 1에서만 연산을 하는 것처럼 표현했습니다. 실제로는 CPU 1~4를 오가면서 실행됩니다.