더북(TheBook)

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++ 개발 환경에서는 이미 대부분 지원하고 있습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.