_endthread
, _endthreadex
Ukončí vlákno; _endthread
ukončí vlákno vytvořené _beginthread
a _endthreadex
ukončí vlákno vytvořené _beginthreadex
pomocí .
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
.