Classe CWinThread
Representa um segmento de execução dentro de um aplicativo.
class CWinThread : public CCmdTarget
Membros
Construtores public
Nome |
Descrição |
---|---|
Constrói um objeto de CWinThread . |
Métodos públicos
Nome |
Descrição |
---|---|
Inicia a execução de um objeto de CWinThread . |
|
Substituição a limpeza quando o thread finalizar. |
|
Recupera um ponteiro para a janela principal para o segmento. |
|
Obtém a prioridade de segmento atual. |
|
Substituição para executar a inicialização de instância de segmento. |
|
Verifica para mensagens especiais. |
|
Substituição para executar o processamento de segmento específico de tempo ocioso. |
|
Enviar uma mensagem a outro objeto de CWinThread . |
|
Mensagens de filtro antes que elas sejam despachados funções do windows TranslateMessage e DispatchMessage. |
|
Determinadas mensagens de intercepções antes que atingiu o aplicativo. |
|
Intercepta todas as exceções não tratadas geradas por manipuladores de mensagem e de comando do segmento. |
|
Contém o loop de mensagem de segmento. |
|
Diminui um segmento suspendem a contagem. |
|
A função de controle para segmentos com uma mensagem bombeia. Substituição para personalizar o loop de mensagem padrão. |
|
Define a prioridade de segmento atual. |
|
Sai um segmento suspendem a contagem. |
Operadores públicos
Nome |
Descrição |
---|---|
Recupera a alça de objeto de CWinThread . |
Membros públicos de dados
Nome |
Descrição |
---|---|
Especifica se destruir no fim do segmento. |
|
Identificador para o segmento atual. |
|
Identificação do segmento atual. |
|
Ponteiro para a janela principal do aplicativo quando um contêiner de servidor OLE está no lugar. |
|
Contém um ponteiro para a janela principal do aplicativo. |
Comentários
O segmento principal de execução é geralmente fornecido por um objeto derivado de CWinApp; CWinApp é derivado de CWinThread. Os objetos adicionais de CWinThread permitem vários segmentos em um determinado aplicativo.
Há dois tipos gerais de segmentos que CWinThread suporta: segmentos de trabalho e segmentos da interface do usuário. Segmentos de trabalho não têm nenhuma mensagem bomba: por exemplo, um segmento que executa cálculos em segundo plano em um aplicativo de planilha. Segmentos de interface do usuário têm as mensagens de mensagem de uma bomba do processo e recebidas do sistema. CWinApp e as classes derivadas de ela são exemplos de segmentos da interface do usuário. Outros segmentos da interface do usuário também podem ser derivados diretamente de CWinThread.
Os objetos de classe CWinThread geralmente existem para a duração do segmento. Se você desejar alterar esse comportamento, defina m_bAutoDelete a Falso.
A classe de CWinThread é necessária para tornar seu código e MFC totalmente thread-safe. Os dados do local com usados pela estrutura para manter informações específicas de segmento são gerenciados por objetos de CWinThread . Devido a essa dependência em CWinThread para manipular dados de com local, qualquer segmento que usar o MFC deve ser criado pelo MFC. Por exemplo, um segmento criado pela função _beginthread, _beginthreadex em tempo de execução não pode usar quaisquer APIs MFC.
Para criar um segmento, chame AfxBeginThread. Há duas formas, dependendo se você quiser um trabalhador ou um encadeamento de interface do usuário. Se você quiser um encadeamento de interface do usuário, passe a AfxBeginThread um ponteiro para CRuntimeClass do seu CWinThread- classe derivada. Se você deseja criar um segmento de trabalho, passe a AfxBeginThread um ponteiro para a função de controle e o parâmetro na função de controle. Para ambos os segmentos de trabalho e segmentos da interface do usuário, você pode especificar parâmetros opcionais que modificam a prioridade, o tamanho da pilha, os sinalizadores de design, e os atributos de segurança. AfxBeginThread retornará um ponteiro para o novo objeto de CWinThread .
Em vez de chamar AfxBeginThread, você pode construir CWinThreadobjeto derivado e chamar CreateThread. Este método de dois estágios de compilação é útil se você deseja reutilizar o objeto de CWinThread entre criar e terminações sucessivas de um segmento.
Para obter mais informações sobre CWinThread, consulte os artigos multithreading com C++ e MFC, multithreading: Criando segmentos da interface do usuário, multithreading: Criando segmentos de trabalho, e multithreading: Como usar as classes de sincronização.
Hierarquia de herança
CWinThread
Requisitos
Cabeçalho: afxwin.h