Udostępnij za pośrednictwem


AfxBeginThread

Wywołanie tej funkcji, aby utworzyć nowy wątek.

CWinThread* AfxBeginThread(
   AFX_THREADPROC pfnThreadProc,
   LPVOID pParam,
   int nPriority = THREAD_PRIORITY_NORMAL,
   UINT nStackSize = 0,
   DWORD dwCreateFlags = 0,
   LPSECURITY_ATTRIBUTES lpSecurityAttrs = NULL 
);
CWinThread* AfxBeginThread(
   CRuntimeClass* pThreadClass,
   int nPriority = THREAD_PRIORITY_NORMAL,
   UINT nStackSize = 0,
   DWORD dwCreateFlags = 0,
   LPSECURITY_ATTRIBUTES lpSecurityAttrs = NULL 
);

Parametry

  • pfnThreadProc
    Punkty kontroli funkcji w celu wątku roboczego.Nie może być NULL.Ta funkcja musi być zadeklarowany następująco:

    UINT __cdecl MyControllingFunction( LPVOID pParam );

  • pThreadClass
    RUNTIME_CLASS z obiektem pochodzącym z CWinThread.

  • pParam
    Parametr mają być przekazywane do kontrolowania funkcji zgodnie z informacjami w parametrze do deklaracji funkcji, w pfnThreadProc.

  • nPriority
    Żądany priorytet wątku.Aby uzyskać pełną listę i opis dostępnych priorytetów, zobacz SetThreadPriority w Windows SDK.

  • nStackSize
    Określa rozmiar w bajtach stosu dla nowego wątku.Jeśli ten argument rozmiar stosu domyślnie ten sam rozmiar stosu jako wątek, który.

  • dwCreateFlags
    Określa dodatkowe flagi, który kontroluje tworzenie wątku.Ta flaga może zawierać jedną z dwóch wartości:

    • CREATE_SUSPENDED uruchomić z licznik wstrzymania jednego wątku.Użycie CREATE_SUSPENDED Jeśli chcesz zainicjować żadnych danych elementu członkowskiego z CWinThread obiektu, takie jak m_bAutoDelete lub członków klasy pochodnej, zanim wątek zostanie uruchomiona.Po zakończeniu inicjalizacja za pomocą CWinThread::ResumeThread uruchomić wątek działający.Wątek nie wykona się aż do CWinThread::ResumeThread nosi nazwę.

    • 0 Uruchomić wątku od razu po utworzeniu.

  • lpSecurityAttrs
    Wskazuje na SECURITY_ATTRIBUTES strukturę, która określa atrybuty zabezpieczeń dla wątku.Jeśli NULL, tych samych papierów atrybuty, jak wątek, który będzie używany.Aby uzyskać więcej informacji dotyczących tej struktury, zobacz Windows SDK.

Wartość zwracana

Wskaźnik na obiekt nowo utworzonego wątku lub NULL Jeśli wystąpi awaria.

Uwagi

W pierwszym formularzu AfxBeginThread tworzy wątku roboczego.Drugi formularz tworzy wątek, który może służyć jako wątku interfejsu użytkownika lub jako wątku roboczego.

AfxBeginThreadTworzy nową CWinThread object, wywołania jej CreateThread działać zaczął wykonywać wątek, a następnie zwraca wskaźnik do wątku.Kontrole są wprowadzane w czasie całej procedury upewnij się, że wszystkie obiekty są deallocated poprawnie niezastosowania się jakiejkolwiek części Tworzenie.Aby zakończyć wątek, wywołanie AfxEndThread od wewnątrz wątku lub powrót z funkcji kontroli wątku roboczego.

Wielowątkowość musi być włączony przez aplikację; w przeciwnym razie funkcja ta nie powiedzie się.Aby uzyskać więcej informacji na temat włączania wielowątkowości, odnoszą się do / /LD MD, /MT, (Użyj Run-Time Library) pod Opcje kompilatora C++ Visual.

Więcej informacji na temat AfxBeginThread, zobacz artykuły wielowątkowość: Tworzenie wątków roboczych i wielowątkowość: Tworzenie wątków interfejsu użytkownika.

Przykład

Zobacz przykład dla CSocket::Attach.

Wymagania

Nagłówek: afxwin.h

Zobacz też

Informacje

AfxGetThread

Koncepcje

Makra MFC i Globals