AfxBeginThread
Вызов этой функции для создания нового потока.
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
);
Параметры
pfnThreadProc
Указывает на функцию управления для рабочего потока.Не может иметь значение NULL.Эту функцию необходимо объявить следующим образом:UINT __cdecl MyControllingFunction( LPVOID pParam );
pThreadClass
RUNTIME_CLASS объекта производного от CWinThread.pParam
Параметр, передаваемый в функции управления, как показано в параметре к объявлению функции в pfnThreadProc.nPriority
Желаемый приоритет потока.Полный список и описание имеющихся приоритетов см. в разделе SetThreadPriority в Windows SDK.nStackSize
Указывает размер в байтах стека для нового потока.Если 0, размер стека по умолчанию в стеке, что и для создающего потока.dwCreateFlags
Этот флажок задать дополнительные элементы управления создание потока.Этот флажок может содержать одно из 2 значений:Запустите CREATE_SUSPENDED поток с числом приостановить одного.Используйте CREATE_SUSPENDED, если требуется инициализировать данные члена объекта CWinThread, например m_bAutoDelete, или любым членам производного класса, прежде чем потока., Если инициализации, используйте CWinThread::ResumeThread для запуска для запуска потока.Поток не выполняется, пока не будет вызван метод CWinThread::ResumeThread.
Запустите поток 0 сразу после создания.
lpSecurityAttrs
Точки в структуре SECURITY_ATTRIBUTES, которая определяет атрибуты безопасности для потока.Если используется NULL, те же атрибуты безопасности, как создать поток.Дополнительные сведения об этой структуре см. в документации по Windows SDK.
Возвращаемое значение
Указатель на вновь созданный объект потока, или NULL, если происходит сбой.
Заметки
Первая форма AfxBeginThread создает рабочий поток.Вторая форма создает поток, который можно использовать как поток интерфейса пользователя или рабочим потоком.
AfxBeginThread создает новый объект CWinThread и вызывает его функции CreateThread для запуска выполнения потока и возвращает указатель в поток.Для подтверждения того, что в случае возникновения ошибки освобождение выделяемой для всех объектов памяти осуществляется должным образом, во время создания выполняются специальные проверки.Чтобы завершить поток, вызовите AfxEndThread из потока или возврата из функции управления рабочего потока.
Многопоточность должна быть включена приложением; в противном случае эта функция завершится ошибкой.Дополнительные сведения о включении многопоточности см. в разделе /MD, /MT, /LD (использование библиотеки времени выполнения) в параметры компилятора C Visual C-++.
Дополнительные сведения о AfxBeginThread см. в статьях Многопоточность. Создание рабочих потоков и Многопоточность. Создание потоки пользовательского интерфейса.
Пример
См. пример в разделе CSocket::Attach.
Требования
Header: afxwin.h