1.3 멀티스레드 프로그래밍은 언제 해야 할까?
“동시에 여러 가지 일을 한꺼번에 실행하는 프로그램이라니 뭔가 쿨하다!”라는 생각이 들겠지만, 멀티스레드 프로그래밍은 남용하면 굉장히 골치가 아플 수 있습니다. 뒤에서 이유를 설명하겠지만, 똑같은 연산을 하더라도 멀티스레드로 할 경우 연산 속도가 훨씬 더 느려지기도 합니다. 그뿐만 아니라 멀티스레드 프로그래밍은 조금만 실수해도 심각한 오류를 일으키며, 심지어 오류를 찾기 힘들 때도 많습니다.
따라서 멀티스레드 프로그래밍을 하기 전에 “왜 해야 하지?”에 대한 답을 분명하게 할 수 있어야 합니다. 이것은 지금부터 설명하겠습니다.
멀티스레드 프로그래밍을 해야 하는 대표적인 상황은 다음과 같습니다.
1. 오래 걸리는 일 하나와 빨리 끝나는 일 여럿을 같이 해야 할 때
2. 어떤 긴 처리를 진행하는 동안 다른 짧은 일을 처리해야 할 때
3. 기기에 있는 CPU를 모두 활용해야 할 때