Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Завершает поток; _endthread завершает поток, созданный _beginthread и _endthreadex завершает поток, созданный с помощью _beginthreadex.
Синтаксис
void _endthread( void );
void _endthreadex(
unsigned retval
);
Параметры
retval
Код выхода потока.
Замечания
Можно явно вызвать _endthread или _endthreadex , чтобы завершить поток; однако _endthread или _endthreadex вызываются автоматически при возврате из подпрограммы потока, переданного в качестве параметра в _beginthread или _beginthreadex. Завершение потока вызовом функции endthread или _endthreadex помогает обеспечить правильное восстановление ресурсов, выделяемых для потока.
Примечание.
Для исполняемого файла, связанного с Libcmt.lib, не вызывайте API Win32 ExitThread . Это предотвращает восстановление выделенных ресурсов системой времени выполнения. _endthread и _endthreadex освобождают выделенные ресурсы потока и затем вызывают метод ExitThread.
_endthread автоматически закрывает дескриптор потока. (Это поведение отличается от Win32 ExitThread API.) Поэтому при использовании _beginthread и _endthreadне закрывайте дескриптор потока явным образом путем вызова API Win32 CloseHandle .
Как и API Win32 ExitThread , _endthreadex не закрывает дескриптор потока. Поэтому при использовании _beginthreadex и _endthreadexнеобходимо закрыть дескриптор потока, вызвав функцию CloseHandle API Win32.
Примечание.
_endthread и _endthreadex блокируют вызов деструкторов C++, ожидающих в потоке.
По умолчанию глобальное состояние этой функции ограничивается приложением. Чтобы изменить это поведение, см . статью "Глобальное состояние" в CRT.
Требования
| Function | Обязательный заголовок |
|---|---|
_endthread |
<process.h> |
_endthreadex |
<process.h> |
Дополнительные сведения о совместимости см. в разделе Совместимость.
Библиотеки
Только многопоточные версии библиотек времени выполнения языка C .
Пример
Пример см. в примере _beginthread.