Функция ExitThread


Функция ExitThread заканчивает работу потока.

Синтаксис

VOID ExitThread(

DWORD dwExitCode // код выхода для этого потока

);

Параметры

dwExitCode

[in]Определяет код выхода для вызывающего потока. Используйте функцию GetExitCodeThread, чтобы получить код выхода из потока.

Возвращаемые значения

У этой функции нет возвращаемого значения.

Замечания

ExitThread - предпочтительный метод завершения работы потока. Когда эта функция вызывается (или явно или при помощи возврата из процедуры потока), стек текущего потока освобождается, а поток завершает работу. Функция точки входа всех связанных динамически подключаемых библиотек (DLL) вызывается со значением, указывающим, что поток отключается от DLL.

Если поток является последним потоком в процессе, когда эта функция вызвана, процесс потока также завершает работу.

Состояние объекта потока становится сигнальным, освобождая любые другие потоки, которые ждали, когда поток закончит работу. Состояние завершения потока изменяется от STILL_ACTIVE до значения параметра dwExitCode.

Завершение потока необязательно удаляет объект потока из операционной системы. Объект потока удаляется, когда закрывается последний дескриптор потока.

Функции ExitProcess, ExitThread, CreateThread, CreateRemoteThread и процесс, который запущен (как результат вызова CreateProcess), в пределах процесса переводятся между собой в последовательный режим. Одновременно в адресном пространстве может происходить только одно из этих событий. Это означает нижеследующие ограничения выполнения:

Поток, который использует функции C библиотеки периода исполнения, должен использовать C - функции периода исполнения _beginthread и _endthread для управления потоком, а не CreateThread и ExitThread. Кто поступает таким образом, то приводит к сбою  программу, когда вызывается ExitThread, из-за того, что происходит утечка ресурсов в маленькой памяти.

Код примера

Пример см. в статье Использование объектов события.

Смотри также

Краткий обзор Процессы и потоки, Функции, используемые процессами и потоками, CreateProcess, CreateRemoteThread, CreateThread, ExitProcess, FreeLibraryAndExitThread, GetExitCodeThread, TerminateThread

Размещение и совместимость ExitThread

Windows. NET Server

Да

Windows XP

Да

Windows 2000

Да

Windows NT

Да

Windows Me

Да

Windows 98

Да

Windows 95

Да

Используемая библиотека

User32.lib

Заголовочный файл

 

- объявлено в

Winbase.h

- включено в

Windows.h

Unicode

Нет

Замечания по платформе

Не имеется

 

Назад в оглавление
На главную страницу
На оглавление справки

Hosted by uCoz