Page 19 -
P. 19
코드 모던 C++
std::thread t1(ThreadProc, 123);
1
게임 개발을 할 때는 C++뿐만 아니라 C#, 자바, 자바스크립트, 파이썬, Lua 등 다양하게 사용합니다. 우리는 여 멀티스레딩
기서 주로 C++를 사용하겠습니다. C++는 성능과 관련하여 부작용이 거의 없으며 대부분 플랫폼에서 사용할 수 있는 언
어이기 때문입니다.
1.3 멀티스레드 프로그래밍은 언제 해야 할까?
GAM E SE RVER
“동시에 여러 가지 일을 한꺼번에 실행하는 프로그램이라니 뭔가 쿨하다!”라는 생각이 들겠지만,
멀티스레드 프로그래밍은 남용하면 굉장히 골치가 아플 수 있습니다. 뒤에서 이유를 설명하겠지
만, 똑같은 연산을 하더라도 멀티스레드로 할 경우 연산 속도가 훨씬 더 느려지기도 합니다. 그뿐
만 아니라 멀티스레드 프로그래밍은 조금만 실수해도 심각한 오류를 일으키며, 심지어 오류를 찾
기 힘들 때도 많습니다.
따라서 멀티스레드 프로그래밍을 하기 전에 “왜 해야 하지?”에 대한 답을 분명하게 할 수 있어야
합니다. 이것은 지금부터 설명하겠습니다.
멀티스레드 프로그래밍을 해야 하는 대표적인 상황은 다음과 같습니다.
1. 오래 걸리는 일 하나와 빨리 끝나는 일 여럿을 같이 해야 할 때
2. 어떤 긴 처리를 진행하는 동안 다른 짧은 일을 처리해야 할 때
3. 기기에 있는 CPU를 모두 활용해야 할 때
027