CWinThread Class
Representa un subproceso de ejecución dentro de una aplicación.
class CWinThread : public CCmdTarget
Miembros
Constructores públicos
Name |
Descripción |
---|---|
Crea un objeto CWinThread. |
Métodos públicos
Name |
Descripción |
---|---|
Inicia la ejecución de un objeto de CWinThread . |
|
Reemplace para limpiar cuando el subproceso termina. |
|
Recupera un puntero a la ventana principal del subproceso. |
|
Obtiene la prioridad del subproceso actual. |
|
Reemplace para realizar la inicialización de la instancia del subproceso. |
|
Comprueba mensajes especiales. |
|
Reemplace para realizar el procesamiento subproceso- específico de tiempo de inactividad. |
|
Envía un mensaje a otro objeto de CWinThread . |
|
Mensajes de filtros antes de que se envíen a las funciones de Windows TranslateMessage y DispatchMessage. |
|
Algunos mensajes de las intersecciones antes de que llegan a la aplicación. |
|
Intercepta todas las excepciones no controladas producidas por los controladores de mensajes y del subproceso. |
|
Contiene el bucle de mensajes del subproceso. |
|
Disminuye el recuento de suspensión de un subproceso. |
|
Supervisar la función para subprocesos con un mensaje bombee. Reemplace para personalizar el bucle de mensajes predeterminado. |
|
Establece la prioridad del subproceso actual. |
|
Incrementa el recuento de suspensión de un subproceso. |
Operadores públicos
Name |
Descripción |
---|---|
Recupera el identificador de objeto de CWinThread . |
Miembros de datos públicos
Name |
Descripción |
---|---|
Especifica si destruir el objeto en la finalización del subproceso. |
|
Identificador del subproceso actual. |
|
Id. del subproceso actual. |
|
Puntero a la ventana principal de la aplicación contenedora cuando un servidor OLE está activo en contexto. |
|
Contiene un puntero a la ventana principal de la aplicación. |
Comentarios
El subproceso de ejecución principal es proporcionado normalmente mediante un objeto derivado de CWinApp; CWinApp se deriva de CWinThread. Objetos adicionales de CWinThread permiten varios subprocesos dentro de una aplicación determinada.
Hay dos tipos generales de subprocesos que CWinThread admite: subprocesos de trabajo y de interfaz de usuario. Los subprocesos de trabajo no tienen ninguna suministro de mensajes: por ejemplo, un subproceso que realiza cálculos en segundo plano en una aplicación de hoja de cálculo. Los subprocesos de interfaz de usuario tienen mensajes de mensaje de suministro y procesar del sistema. CWinApp y clases derivados de son ejemplos de subprocesos de interfaz de usuario. Otros subprocesos de interfaz de usuario también se pueden derivar directamente de CWinThread.
Los objetos de la clase CWinThread existen normalmente para la duración del subproceso. Si desea modificar este comportamiento, establezca m_bAutoDelete a FALSE.
La clase de CWinThread es necesaria para que la codificación y MFC segura para subprocesos. Los datos de Subproceso- local utiliza el marco para mantener la información subproceso- concreta es administrado por los objetos de CWinThread . Debido a esta dependencia en CWinThread para administrar datos de subproceso- local, cualquier subproceso que utiliza MFC se debe crear por MFC. Por ejemplo, un subproceso creado por la función _beginthread, _beginthreadex en tiempo de ejecución no puede usar ningún MFC API.
Para crear un subproceso, llame a AfxBeginThread. Hay dos formas, dependiendo de si desea un trabajo o un subproceso de interfaz de usuario. Si desea que un subproceso de interfaz de usuario, pase a AfxBeginThread un puntero a CRuntimeClass del CWinThread- clase derivada. Si desea crear un subproceso de trabajo, pase a AfxBeginThread un puntero a la función controladora y el parámetro a la función controladora. Para ambos subprocesos de trabajo y de interfaz de usuario, puede especificar parámetros opcionales que modifican prioridad, tamaño de la pila, los marcadores de la creación, y los atributos de seguridad. AfxBeginThread devolverá un puntero al nuevo objeto de CWinThread .
En lugar de llamar a AfxBeginThread, puede construir CWinThread- objeto derivado y llamar después a CreateThread. Este método de dos fases de la construcción es útil si desea reutilizar el objeto de CWinThread entre la creación y las finalizaciones sucesivas de las ejecuciones de subproceso.
Para obtener más información sobre CWinThread, vea los artículos Multithreading con C++ y MFC, Multithreading: Crear subprocesos de interfaz de usuario, Multithreading: Crear subprocesos de trabajo, y Multithreading: Cómo utilizar las clases de sincronización.
Jerarquía de herencia
CWinThread
Requisitos
Encabezado: afxwin.h