C 언어에서는 스레드를 생성하는 함수가 운영체제마다 달랐습니다. 예를 들어 윈도 앱을 개발할 때는 다음과 같이 작성합니다.
코드 윈도일 때
DWORD threadID; ThreadParam threadParam; threadParam.value = 123; CreateThread( ..., ThreadProc, &threadParam, ..., &threadID);
반면 리눅스나 유닉스에서는 다음과 같이 작성합니다.
코드 리눅스나 유닉스 계열일 때
pthread_t thread; ThreadParam threadParam; threadParam.value = 123; thread_create(&thread, NULL, ThreadProc, &threadParam);
하지만 모던 C++1에서는 다음과 같이 통일했습니다.
코드 모던 C++
std::thread t1(ThreadProc, 123);
Tip
게임 개발을 할 때는 C++뿐만 아니라 C#, 자바, 자바스크립트, 파이썬, Lua 등 다양하게 사용합니다. 우리는 여기서 주로 C++를 사용하겠습니다. C++는 성능과 관련하여 부작용이 거의 없으며 대부분 플랫폼에서 사용할 수 있는 언어이기 때문입니다.
1 모던(Modern) C++는 C++11 이후를 의미합니다. 현재 윈도뿐만 아니라 리눅스, iOS의 C++ 개발 환경에서는 이미 대부분 지원하고 있습니다.