Sdílet prostřednictvím


_endthread, _endthreadex

Ukončí vlákno; _endthread ukončí vlákno vytvořené _beginthread a _endthreadex ukončí vlákno vytvořené _beginthreadexpomocí .

Syntaxe

void _endthread( void );
void _endthreadex(
   unsigned retval
);

Parametry

retval
Ukončovací kód vlákna

Poznámky

Můžete volat _endthread nebo explicitně ukončit vlákno, ale nebo _endthreadex je volána automaticky, _endthread když vlákno vrátí z rutiny předané jako parametr nebo _beginthreadex_beginthread ._endthreadex Ukončení vlákna voláním endthread nebo _endthreadex pomáhá zajistit správné obnovení prostředků přidělených pro vlákno.

Poznámka:

U spustitelného souboru propojeného s knihovnou Libcmt.lib nevolejte rozhraní API win32 ExitThread . Tím zabráníte systému za běhu uvolnit přidělené prostředky. _endthread a _endthreadex uvolněte přidělené prostředky vlákna a pak volejte ExitThread.

_endthread automaticky zavře popisovač vlákna. (Toto chování se liší od Win32 ExitThread . API.) Proto při použití _beginthread a _endthread, nezavírejte explicitně popisovač vlákna voláním rozhraní API Win32 CloseHandle .

Podobně jako rozhraní API _endthreadex Win32 ExitThread nezavírá popisovač vlákna. Proto při použití _beginthreadex a _endthreadex, musíte zavřít popisovač vlákna voláním rozhraní WIN32 CloseHandle API.

Poznámka:

_endthread a _endthreadex způsobit, že destruktory C++ čekající ve vlákně nebudou volána.

Ve výchozím nastavení je globální stav této funkce vymezen na aplikaci. Chcete-li toto chování změnit, přečtěte si téma Globální stav v CRT.

Požadavky

Function Požadovaný hlavičkový soubor
_endthread <process.h>
_endthreadex <process.h>

Další informace o kompatibilitě najdete v tématu Kompatibilita.

Knihovny

Pouze vícevláknové verze knihoven runtime jazyka C.

Příklad

Podívejte se na příklad pro _beginthread.

Viz také

Řízení procesů a prostředí
_beginthread, _beginthreadex