C28617
警告 C28617:避免使用 _beginthread () 的返回值。 请改用 _beginthreadex ()
使用 _beginthreadex 比 _beginthread更安全。 如果 _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);