Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Завершает поток; _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.