Udostępnij za pośrednictwem


Klasa CWinThread

Reprezentuje wykonanie aplikacji wątku.

class CWinThread : public CCmdTarget

Członkowie

Publiczne konstruktory

Nazwa

Opis

CWinThread::CWinThread

Konstrukcje CWinThread obiektu.

Metody publiczne

Nazwa

Opis

CWinThread::CreateThread

Uruchamia wykonanie CWinThread obiektu.

CWinThread::ExitInstance

Zastąpić, aby oczyścić, gdy wątek kończy działanie.

CWinThread::GetMainWnd

Pobiera wskaźnik do okna głównego wątku.

CWinThread::GetThreadPriority

Pobiera priorytet bieżącego wątku.

CWinThread::InitInstance

Zastąpić wykonywanie wątku inicjowania wystąpienia.

CWinThread::IsIdleMessage

Sprawdza, czy specjalne wiadomości.

CWinThread::OnIdle

Zastąpić do przetwarzania wątku określonego czasu bezczynności.

CWinThread::PostThreadMessage

Ogłoszenia wiadomości do innego CWinThread obiektu.

CWinThread::PreTranslateMessage

Filtry wiadomości przed wysłaniem ich do funkcji Windows TranslateMessage i DispatchMessage.

CWinThread::ProcessMessageFilter

Przechwytuje niektórych wiadomości, zanim osiągną one aplikacji.

CWinThread::ProcessWndProcException

Przechwytuje wszystkie Nieobsłużone wyjątki generowane przez wątku wiadomości i programy obsługi polecenia.

CWinThread::PumpMessage

Zawiera pętli komunikatów wątku.

CWinThread::ResumeThread

Licznik wstrzymania zmniejsza się w wątku.

CWinThread::Run

Kontrolowanie funkcji wątków pompy wiadomości.Zastąpić, aby dostosować domyślny pętli komunikatów.

CWinThread::SetThreadPriority

Ustawia priorytet bieżącego wątku.

CWinThread::SuspendThread

Licznik wstrzymania przyrostach w wątku.

Podmioty publiczne

Nazwa

Opis

CWinThread::operator UCHWYT

Pobiera uchwyt CWinThread obiektu.

Publiczne danych członków

Nazwa

Opis

CWinThread::m_bAutoDelete

Określa, czy obiektu na zakończenie wątku.

CWinThread::m_hThread

Dojście do bieżącego wątku.

CWinThread::m_nThreadID

Identyfikator bieżącego wątku.

CWinThread::m_pActiveWnd

Wskaźnik do głównego okna aplikacji kontenera, gdy serwer OLE jest aktywny w miejscu.

CWinThread::m_pMainWnd

Posiada wskaźnik do głównego okna aplikacji.

Uwagi

Głównego wątku wykonywania jest zwykle świadczone przez obiekt pochodzące z CWinApp; CWinApppochodzi z CWinThread.Dodatkowe CWinThread obiektów Zezwalaj na wiele wątków w danej aplikacji.

Istnieją dwa typy ogólne wątków, CWinThread obsługuje: wątków roboczych i wątkami interfejsu użytkownika.Wątków roboczych mają pompy nie wiadomości: na przykład wątek wykonuje obliczenia tła w arkuszu kalkulacyjnym.Wątki interfejsu użytkownika ma pompy wiadomości i przetwarzania wiadomości otrzymane z systemu.CWinApp i klas pochodnych są przykłady wątki interfejsu użytkownika.Inne wątki interfejsu użytkownika można także pochodzi bezpośrednio z CWinThread.

Obiekty klasy CWinThread istnieją zazwyczaj na czas trwania wątku.Jeśli chcesz zmodyfikować to zachowanie Ustaw m_bAutoDelete do FALSE.

CWinThread Klasy konieczne jest kod i MFC pełni wielowątkowość.Wątek lokalnych danych używane w ramach do utrzymywania informacji specyficznych dla wątku jest zarządzane przez CWinThread obiektów.Z powodu tego uzależnienia od CWinThread do obsługi danych lokalnej wątku, wątek, który używa MFC muszą zostać utworzone przez MFC.Na przykład wątek utworzony przez funkcję _beginthread, _beginthreadex nie można używać żadnych interfejsów API MFC.

Aby utworzyć wątku, wywołać AfxBeginThread.Istnieją dwie formy, czy mają być wątku roboczego lub interfejsu użytkownika.Wątek interfejsu użytkownika, należy przekazać do AfxBeginThread wskaźnik do CRuntimeClass z programu CWinThread-klasy.Jeśli chcesz utworzyć wątku roboczego przekazać do AfxBeginThread wskaźnik do funkcji kontrolowania i parametr do funkcji kontrolowania.Dla wątków roboczych i wątkami interfejsu użytkownika można określić parametry opcjonalne, które modyfikują priorytet, rozmiar stosu, tworzenie flag i atrybutów zabezpieczeń.AfxBeginThreadZwraca wskaźnik do nowej CWinThread obiektu.

Zamiast wywołania AfxBeginThread, można skonstruować CWinThread-pochodzące z obiektu, a następnie wywołanie CreateThread.Ta metoda dwa etapy budowy jest użyteczna, jeśli chcesz użyć ponownie CWinThread obiektu między kolejnymi tworzenia i zakończenia wątek egzekucji.

Więcej informacji na temat CWinThread, zobacz artykuły Multithreading z C++ i MFC, Multithreading: Tworzenie interfejsu użytkownika wątki, Multithreading: Tworzenie wątków roboczych, i Multithreading: jak używać klasy synchronizacji.

Hierarchii dziedziczenia

CObject

CCmdTarget

CWinThread

Wymagania

Nagłówek: afxwin.h

Zobacz też

Informacje

Klasa CCmdTarget

Diagram hierarchii

Klasa CWinApp

Klasa CCmdTarget