Вы можете ждать на дескрипторе нити с помощью WaitForSingleObject
или одной из других функций ожидания. Вы можете использовать MsgWaitForMultipleObjects
, чтобы, например, разрешить прерывание вашего ожидания входными сообщениями. Дескриптор потока становится сигнальным, когда выполнение потока завершено.
В качестве альтернативы вы можете проверить состояние потока, позвонив по номеру GetExitCodeThread
. Это вернет FALSE
, если поток все еще занят, и TRUE
, если он завершен. Если поток завершен, будет также возвращен код выхода.
Если одному потоку нужно дождаться завершения другого, вам следует использовать функции ожидания, а не занятый цикл опроса, вызывающий GetExitCodeThread
. Занятые циклы и опросы просто потребляют ненужное количество процессора (и мощности). Функции ожидания позволяют ожидающему потоку бездействовать.