C28617
경고 C28617: _beginthread()의 반환 값을 사용하지 마세요. 대신 _beginthreadex() 사용
_beginthread_beginthreadex 사용하는 것이 안전합니다. _beginthread 의해 생성된 스레드가 빠르게 종료되면 _beginthread 호출자에게 반환된 핸들이 유효하지 않거나 더 나쁜 경우 다른 스레드를 가리킬 수 있습니다. 그러나 _beginthreadex 반환된 핸들은 _beginthreadex 호출자에 의해 닫혀야 하므로 _beginthreadex 오류를 반환하지 않은 경우 유효한 핸들이 됩니다.
예제
다음 코드 예제에서는 이 경고를 생성합니다.
hThread = (HANDLE)_beginthread (&SecondThreadFunc, 0, &args);
WaitForSingleObject (hThread, INFINITE);
다음 코드 예제에서는 경고를 방지합니다.
hThread = (HANDLE)_beginthreadex ( NULL, 0,
&SecondThreadFunc,
&args, 0, &threadID);
WaitForSingleObject (hThread, INFINITE);
CloseHandle(hThread);