Funkcje biblioteki czasu wykonywania języka C do sterowania wątkami
Wszystkie programy Win32 ma przynajmniej jeden wątek.Każdy wątek można utworzyć dodatkowe wątków.Wątek można szybko wykonać swoją pracę, a następnie zakończyć, lub można zatrzymać aktywne przez cały okres istnienia program.
Biblioteki run-time LIBCMT i MSVCRT C zapewnić następujące funkcje tworzenia wątku i zakończenia: _beginthread, _beginthreadex i _endthread, _endthreadex.
_beginthread i _beginthreadex funkcje tworzenia nowego wątku i zwracają identyfikator wątku, jeśli operacja powiedzie się.Wątek kończy się automatycznie kiedy to kończy wykonywanie lub może zakończyć się w wyniku wywołania _endthread lub _endthreadex.
[!UWAGA]
Jeśli masz zamiar wywołania procedur wykonywania C z poziomu programu zbudowany z Libcmt.lib, trzeba uruchomić z wątków z _beginthread lub _beginthreadex funkcji.Nie należy używać funkcji Win32 ExitThread i CreateThread.Za pomocą SuspendThread może prowadzić do zakleszczenia, gdy więcej niż jeden wątek jest zablokowany, oczekiwanie na zawieszony wątek wypełnić jego dostęp do struktury danych w czasie wykonywania C.
Funkcje _beginthread i funkcja _beginthreadex zwróciła
_beginthread i _beginthreadex funkcje tworzenia nowego wątku.Wątek akcji segmenty kodu i danych procesu z innych wątków w procesie, ale ma swój własny rejestr unikatowych wartości, obszar stosu i adres bieżącej instrukcji.System daje czas Procesora dla każdego wątku, tak że wszystkie wątki w procesie można wykonać jednocześnie.
_beginthreadi _beginthreadex są podobne do funkcji CreateThread: funkcji interfejsu API Win32, lecz jest te różnice:
Inicjowania pewnych zmiennych C biblioteki wykonawczej.Jest to ważne, tylko w przypadku używania biblioteki wykonawczej C w swojej wątków.
CreateThreadpomaga zapewnić kontrolę nad atrybutami bezpieczeństwa.Można użyć tej funkcji, aby rozpocząć wątek w stanie wstrzymania.
_beginthreadi _beginthreadex zwraca uchwyt do nowego wątku w przypadku powodzenia i kod błędu, jeśli wystąpił błąd.
Funkcje _endthread i _endthreadex
_Endthread funkcja kończy Wątek utworzony przez _beginthread (i podobnie, _endthreadex kończy Wątek utworzony przez _beginthreadex).Wątki automatycznie wygasa po ich zakończeniu._endthreadi _endthreadex są przydatne do zakończenia warunkowego od wewnątrz wątku.Na przykład wątku przeznaczonym do przetwarzania, komunikacji można zamknąć, jeżeli nie jest w stanie uzyskać kontrolę portu komunikacyjnego.