
CWinThread 개체를 사용 하는 응용 프로그램 내의 실행 스레드를 나타냅니다. 실행의 주 스레드에 CWinApp;에서 파생 되는 개체에서 일반적으로 제공 하는 CWinApp 는 CWinThread에서 파생 됩니다. 특정된 응용 프로그램 내에 여러 스레드를 허용 하는 추가 CWinThread 개체。
거기에 두 가지 일반 유형의 스레드는 CWinThread 지원: 작업자 스레드와 사용자 인터페이스 스레드. 작업자 스레드는 메시지 펌프 없습니다: 예를 들어, 스레드 스프레드시트 응용 프로그램에서 배경 계산을 수행 합니다. 사용자 인터페이스 스레드 메시지 펌프를 있고 시스템에서 받은 메시지를 처리 합니다. CWinApp 및 그것에서 파생 된 클래스에는 사용자 인터페이스 스레드의 예입니다. 다른 사용자 인터페이스 스레드 또한 CWinThread 에서 직접 파생 될 수 있습니다.
CWinThread 클래스의 개체는 일반적으로 스레드의 기간에 대 한 존재합니다. 이 동작을 수정 하려는 경우 m_bAutoDelete 을 false로 설정。
CWinThread 클래스 완전히 스레드로부터 안전한 코드와 MFC를 만들 필요는. 스레드 관련 정보를 유지 하는 프레임 워크에서 사용 되는 스레드 로컬 데이터는 CWinThread 개체에 의해 관리 됩니다. 이 의존도 CWinThread 스레드 로컬 데이터를 처리 하기 때문에 MFC를 사용 하는 모든 스레드는 MFC에 의해 생성 되어야 합니다. 예를 들어, 스레드 런타임 함수에 의해 만들어진 _beginthreadex MFC Api를 사용할 수 없습니다。
스레드를 만들려면 AfxBeginThread를 호출 합니다. 작업자 또는 사용자 인터페이스 스레드 여부에 따라 두 가지 형태 있다. 사용자 인터페이스 스레드를 원하는 경우 전달할 AfxBeginThread CWinThread CRuntimeClass 포인터-클래스를 파생 합니다. 작업자 스레드를 생성 하려는 경우 제어 함수에 대 한 포인터 및 매개 변수 제어 함수를 AfxBeginThread 에 전달 합니다. 작업자 스레드와 사용자 인터페이스 스레드를 모두에 대 한 우선 순위, 스택 크기, 생성 플래그 및 보안 특성을 수정 하는 선택적 매개 변수를 지정할 수 있습니다. AfxBeginThread 새로운 CWinThread 개체에 대 한 포인터를 반환 됩니다.
AfxBeginThread를 호출 하는 대신 CWinThread를 생성할 수 있습니다-파생 개체와 CreateThread를 호출 합니다. 이 2 단계 건설 메서드는 연속적인 창조와 스레드 처형의 단말 간의 CWinThread 개체를 다시 사용 하려는 경우에 유용。
CWinThread에서 자세한 내용은 다음 웹 사이트를 참조 하십시오. 문서 c + + 및 MFC 다중 스레딩, 다중 스레딩: 사용자 인터페이스 스레드 만들기, 다중 스레딩: 작업자 스레드 만들기, 그리고 다중 스레딩: 동기화 클래스를 사용 하는 방법 Visual c + + 프로그래머 가이드。
클래스 멤버 |nbsp; 기본 클래스 (ko) | 계층 구조 차트(&N)
샘플nbsp; MFC 샘플 MTGDI(&N)
참고 항목nbsp;CWinApp, CCmdTarget(&N)