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
스레드 생성을 제어 하는 추가 플래그를 지정 합니다.이 플래그는 두 값 중 하나를 포함할 수 있습니다.CREATE_SUSPENDED 스레드의 일시 중단 횟수가 1로 시작 합니다.사용 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(런타임 라이브러리 사용) 에서 컴파일러 옵션이 Visual C++.
에 대 한 자세한 내용은 AfxBeginThread, 문서를 참고 하십시오 다중 스레딩: 작업자 스레드 만들기 및 다중 스레딩: 사용자 인터페이스 스레드 만들기.
예제
예를 들어 참조 하십시오 CSocket::Attach.
요구 사항
헤더: afxwin.h