Aracılığıyla paylaş


C28617

uyarı C28617: _beginthread() dönüş değerini kullanmaktan kaçının. Bunun yerine _beginthreadex() kullanın

_beginthreadex kullanmak _beginthreaddaha güvenlidir. _beginthread tarafından oluşturulan iş parçacığı hızla çıkarsa, _beginthread çağırana döndürülen tanıtıcı geçersiz olabilir veya daha da kötüsü başka bir iş parçacığına işaret edebilir. Ancak, _beginthreadex tarafından döndürülen tanıtıcının _beginthreadexçağıranı tarafından kapatılması gerekir, bu nedenle _beginthreadex hata döndürmemesi durumunda geçerli bir tanıtıcı olması garanti edilir.

Örnekleri

Aşağıdaki kod örneği bu uyarıyı oluşturur.

hThread = (HANDLE)_beginthread (&SecondThreadFunc, 0, &args);
WaitForSingleObject (hThread, INFINITE);

Aşağıdaki kod örneği uyarıyı önler.

hThread = (HANDLE)_beginthreadex ( NULL, 0,
                                   &SecondThreadFunc,
                                   &args, 0, &threadID);
WaitForSingleObject (hThread, INFINITE);
CloseHandle(hThread);